diff --git a/src/levels/intro/merging.js b/src/levels/intro/merging.js index fa10cadd..65188740 100644 --- a/src/levels/intro/merging.js +++ b/src/levels/intro/merging.js @@ -8,29 +8,29 @@ exports.level = { "es_MX": "Haciendo merge en Git", "es_ES": "Haciendo merge en Git", "pt_BR": "Merge no Git", - "gl" : "Merge en Git", + "gl": "Merge en Git", "fr_FR": "Faire des 'merge' (fusions de branches) avec Git", "ko": "Git에서 브랜치 합치기(Merge)", - "ja"   : "ブランチとマージ", + "ja": "ブランチとマージ", "zh_CN": "Git Merge", "zh_TW": "git 中的 merge", "ru_RU": "Слияния веток в Git", "uk": "Злиття гілок в Git", "vi": "Gộp nhánh trong Git", "sl_SI": "Merganje v Gitu", - "pl" : "Mergowanie w Gitcie", + "pl": "Mergowanie w Gicie", 'it_IT': "Fusione in Git", "ta_IN": "கிட்டில் இணைத்தல்" }, "hint": { "en_US": "Remember to commit in the order specified (bugFix before main)", "de_DE": "Denk dran in der angegebenen Reihenfolge zu committen (erst bugFix, dann main)", - "ja"   : "指示された順番でコミットすること(mainの前にbugFixで)", + "ja": "指示された順番でコミットすること(mainの前にbugFixで)", "es_AR": "Acordate de commitear en el orden especificado (bugFix antes de main)", "es_MX": "Acuérdate de hacer commit en el orden especificado (bugFix antes de main)", "es_ES": "Acuérdate de hacer commit en el orden especificado (bugFix antes de main)", "pt_BR": "Lembre-se de commitar na ordem especificada (bugFix antes de main)", - "gl" : "Lembrate de facer commit na orde específica (bugFix antes de main)", + "gl": "Lembrate de facer commit na orde específica (bugFix antes de main)", "fr_FR": "Pensez à faire des commits dans l'ordre indiqué (bugFix avant main)", "zh_CN": "要按目标窗口中指定的顺序进行提交(bugFix 先于 main)", "zh_TW": "記住按指定的順序 commit(bugFix 比 main 優先)", @@ -39,7 +39,7 @@ exports.level = { "uk": "Не забудь робити коміти в правильному порядку (спочатку bugFix, а вже потім main)", "vi": "Nhớ là commit theo đúng thứ tự(bugFix trước main)", "sl_SI": 'Zapomni si, da je potrebno commitati v pravilnem vrstnem redu (bugfix pred main)', - "pl" : "Pamiętaj, aby commitować w określonej kolejności (bugFix przed main)", + "pl": "Pamiętaj, aby commitować w określonej kolejności (bugFix przed main)", "it_IT": "Ricorda di effettuare i commit nell'ordine specificato (bugFix prima di main)", "ta_IN": "bugFix முன் main என்ற கொடுக்கப்பட்ட வரிசையில் கட்டலை இடுவதை கருத்தில் கொள்க" @@ -608,7 +608,7 @@ exports.level = { "markdowns": [ "## Branches et Merges", "", - "Super ! Nous savons désormais comment faire des commits et des branches. Maintenant nous devons apprendre comment combiner ensemble les contenus de deux branches différentes. Ceci nous permettra de créer une nouvelle branche, développer une nouvelle fonctionnalité sur cette dernière, puis intégrer cette fonctionnalité en combinant le contenu de cette branche de développement à la branche d'origine (main par exemple).", + "Super ! Nous savons désormais comment faire des commits et des branches. Maintenant nous devons apprendre comment combiner ensemble les contenus de deux branches différentes. Ceci nous permettra de créer une nouvelle branche, développer une nouvelle fonctionnalité sur cette dernière, puis intégrer cette fonctionnalité en combinant le contenu de cette branche de développement à la branche d'origine (main par exemple).", "", "La première méthode que nous allons voir pour combiner le contenu de deux branches est `git merge`. Faire un 'merge' avec Git crée un commit spécial qui a deux parents. Un commit avec deux parents indique en susbtance \"Je veux inclure le contenu de ce parent et le contenu de cet autre parent, *et* l'ensemble de leurs parents.\"", "", @@ -1158,13 +1158,13 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "## Mergowanie gałęzi", + "## Mergowanie branchów", "", - "Świetnie! Już wiemy, jak dodawać commity oraz jak tworzyć gałęzie. Teraz musimy się nauczyć jak połączyć pracę dwóch różnych branchy. Stwórzmy nową gałąź, wprowadźmy nową funkcjonalność, a następnie je połączmy.", + "Świetnie! Już wiemy, jak dodawać commity oraz jak tworzyć gałęzie (czyli branche). Teraz musimy się nauczyć jak połączyć pracę dwóch z nich. Stwórzmy nową gałąź, wprowadźmy nową funkcjonalność, a następnie je połączmy.", "", - "Pierwszą metodą łączenia gałęzi, którą zamierzamy użyć, jest `git merge` (stąd mergowanie czyt. merdżowanie). Połączenie te tworzy w Git specjalny commit, który ma dwóch różnych rodziców. Commit z dwojgiem rodziców zasadniczo oznacza: \"Chcę uwzględnić całą pracę tych dwóch rodziców oraz zbiory wszystkich swoich przodków\".", + "Pierwszą metodą łączenia gałęzi, której zamierzamy użyć, jest `git merge` (stąd merge'owanie czyt. merdżowanie). Połączenie to tworzy w Git specjalny commit, który ma dwoje różnych rodziców. Commit z dwojgiem rodziców zasadniczo oznacza: \"Chcę uwzględnić całą pracę tych rodziców *oraz* zbiory wszystkich swoich przodków\".", "", - "Wszystko powinno się wyjaśnić, kiedy to zobaczymy już za chwilę." + "Zaraz zobaczysz jak to wygląda i łatwiej ci będzie wszystko zrozumieć." ] } }, @@ -1172,14 +1172,14 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Mamy tutaj dwie gałęzie. Każda z nich ma po jednym unikalnym commitcie. Oznacza to, że żadna z gałęzi nie zawiera \"całej pracy\", które jest w naszym repozytorium. Naprawmy to!.", + "Mamy tutaj dwie gałęzie. Każda z nich ma po jednym unikalnym commicie. Oznacza to, że żadna z nich nie zawiera \"całej pracy\", którą wykonaliśmy w naszym repozytorium. Naprawmy to!.", "", - "Użyjmy `git merge` aby połączyć gałęzie `bugFix` oraz `main`." + "Użyjmy `git merge` aby połączyć branche `bugFix` oraz `main`." ], "afterMarkdowns": [ - "Wow! Widziałeś to? Teraz \"main\" wskazuje na commit, który ma dwoje rodziców. Jeśli podążasz za strzałkami w górę drzewa źródłowego od `main`, trafisz na każdy commit po drodze do korzenia. Oznacza to, że `main` zawiera teraz całą pracę w repozytorium.", + "Wow! Widzisz? Teraz \"main\" wskazuje na commit, który ma dwoje rodziców. Jeśli podążasz za strzałkami w górę drzewa źródłowego od `main`, trafisz na każdy commit po drodze do korzenia. Oznacza to, że `main` zawiera teraz całą pracę w repozytorium.", "", - "Czy widziałeś również, jak zmieniły się kolory commitów? Aby pomóc Ci w nauce, dołączyłem kilka konwencji kolorów. Każdy branch ma swój własny kolor. Każdy commit staje się kolorem wynikającym z mieszania kolorów wszystkich branchy, które commitujesz", + "Spójrz też jak zmieniły się kolory commitów. Aby pomóc Ci w nauce, dołączyłem kilka konwencji kolorów. Każdy branch ma swój własny kolor. Kolor każdego commita to mieszanka kolorów wszystkich gałęzi, które commitujesz", "", "Tutaj widzimy, że kolor gałęzi `main` jest składową kolorów wszystkich commitów, ale kolor gałęzi `bugFix` już nie. Naprawmy to..." ], @@ -1194,9 +1194,9 @@ exports.level = { "Połączmy gałąź `main` z gałęzią `bugFix`:" ], "afterMarkdowns": [ - "Ponieważ `bugFix` był przodkiem gałęzi `main`, git nie musiał wykonywać żadnej pracy. Po prostu przeniosł gałąź `bugFix` do tego samego commita.", + "Ponieważ `bugFix` był przodkiem gałęzi `main`, git nie musiał wykonywać żadnej pracy. Po prostu przeniosł branch `bugFix` do tego samego commita, do którego dołączony był `main`.", "", - "Teraz wszystkie commity mają ten sam kolor, co oznacza, że każdy branch zawiera całą pracę znajdującą się w repozytorium! Super!" + "Teraz wszystkie commity mają ten sam kolor, co oznacza, że każda gałąź zawiera całą pracę znajdującą się w repozytorium! Super!" ], "command": "git checkout bugFix; git merge main", "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit; git merge bugFix" @@ -1208,14 +1208,14 @@ exports.level = { "markdowns": [ "Aby ukończyć ten poziom, wykonaj następujące czynności:", "", - "* Stwórz nowy branch o nazwie `bugFix`", - "* Przełącz się na branch `bugFix`, używając polecenia `git checkout bugFix`", - "* Zrób commit", - "* Wróć do brancha `main` za pomocą polecenia `git checkout`", - "* Zrób ponownie commit", - "* Zmerguj gałąź `bugFix` z gałęzią `main` używając polecenia `git merge`", + "* Stwórz nową gałąź o nazwie `bugFix`", + "* Przełącz się na gałąź `bugFix`, używając polecenia `git checkout bugFix`", + "* Zrób jeden commit", + "* Wróć do gałęzi `main` za pomocą polecenia `git checkout`", + "* Zrób kolejny commit", + "* Połącz gałąź `bugFix` z gałęzią `main` używając polecenia `git merge`", "", - "*Pamiętaj: zawsze możesz zobaczyć tą wiadomość ponownie, wpisując \"objective\"!*" + "*Pamiętaj: zawsze możesz zobaczyć tę wiadomość ponownie, wpisując \"objective\"!*" ] } } diff --git a/src/levels/intro/rebasing.js b/src/levels/intro/rebasing.js index f2d09706..4ed3051a 100644 --- a/src/levels/intro/rebasing.js +++ b/src/levels/intro/rebasing.js @@ -4,12 +4,12 @@ exports.level = { "name": { "en_US": "Rebase Introduction", "de_DE": "Einführung in Rebase", - "ja" : "Rebaseの解説", + "ja": "Rebaseの解説", "es_AR": "Introducción a rebase", "es_MX": "Introducción a rebase", "es_ES": "Introducción a rebase", "pt_BR": "Introdução ao rebase", - "gl" : "Introducción a rebase", + "gl": "Introducción a rebase", "fr_FR": "Introduction à rebase", "ko": "리베이스(rebase)의 기본", "zh_CN": "Git Rebase", @@ -19,18 +19,18 @@ exports.level = { "vi": "Giới thiệu về rebase", 'sl_SI': 'Uvod v Rebase', 'it_IT': "Introduzione al rebase (ribasare)", - "pl" : "Wprowadzenie do Rebase" + "pl": "Wprowadzenie do Rebase" }, "hint": { "en_US": "Make sure you commit from bugFix first", "de_DE": "Geh vor dem committen sicher, dass du auf bugFix arbeitest", - "ja" : "初めにbugFixを指した状態でコミットする", + "ja": "初めにbugFixを指した状態でコミットする", "fr_FR": "Assurez-vous de bien faire votre commit sur bugFix en premier", "es_AR": "Asegurate de commitear desde bugFix primero", "es_MX": "Asegúrate de hacer commit desde bugFix primero", "es_ES": "Asegúrate de hacer commit desde bugFix primero", "pt_BR": "O bugFix precisa ser commitado primeiro", - "gl" : "Asegurate de facer o commit dende bugFix primeiro", + "gl": "Asegurate de facer o commit dende bugFix primeiro", "ko": "bugFix 브랜치에서 먼저 커밋하세요", "zh_CN": "先在 bugFix 分支上进行提交", "zh_TW": "你要先在 bugFix branch 進行 commit", @@ -39,7 +39,7 @@ exports.level = { "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.', 'it_IT': "Assicurati di fare prima il commit da bugFix", - "pl" : "Upewnij się, że masz commit z bugFix" + "pl": "Upewnij się, że masz już commit z bugFix" }, "disabledMap": { "git revert": true @@ -1052,7 +1052,8 @@ exports.level = { } } ] - },"sl_SI": { + }, + "sl_SI": { "childViews": [ { "type": "ModalAlert", @@ -1127,11 +1128,11 @@ exports.level = { "markdowns": [ "## Git Rebase", "", - "Drugim sposobem na łączenie naszej pracy między gałęziami jest *rebase*. Rebase zasadniczo pobiera zestaw commitów, \"kopiuje\" je i umieszcza w innym miejscu.", + "Drugim sposobem na łączenie naszej pracy z różnych gałęzi jest *rebase*. Rebase zasadniczo pobiera zestaw commitów, \"kopiuje\" je i umieszcza w innym miejscu.", "", "Chociaż brzmi to niejasno, zaletą rebase jest to, że można go użyć do stworzenia ładnej, prostej sekwencji commitów. Rebase sprawi, że historia commitów w repozytorium będzie wyglądała na dużo prostszą, ponieważ nia ma wtedy commitów scalających.", "", - "Sparwdźmy to w akcji..." + "Sparwdźmy jak to działa..." ] } }, @@ -1139,7 +1140,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Tutaj znowu mamy dwa gałęzie. Zwróć uwagę, że gałąź bugFix jest aktualnie wybrana (zwróć uwagę, że ma gwiazdkę)", + "Tutaj znowu mamy dwie gałęzie. Zauważ, że gałąź bugFix jest aktualnie wybrana (zwróć uwagę, że ma gwiazdkę)", "", "Chcielibyśmy przenieść nasze pracę z gałęzi bugFix bezpośrednio na gałąź main. W ten sposób wyglądałoby to tak, jakby te dwa zadania były rozwijane sekwencyjnie, podczas gdy w rzeczywistości rozwijano je równolegle.", "", @@ -1150,7 +1151,7 @@ exports.level = { "", "Zauważ, że commit C3 nadal gdzieś istnieje (jest wyblakły w drzewie), a commit C3' jest \"kopią\", którą przenosimy na main.", "", - "Jedynym problemem jest to, że `main` nie jest teraz aktualny. Zaktualizujmy go..." + "Jedynym problemem jest to, że `main` nie został jeszcze zaktualizowany. Zróbmy to teraz..." ], "command": "git rebase main", "beforeCommand": "git commit; git checkout -b bugFix C1; git commit" @@ -1163,7 +1164,7 @@ exports.level = { "Znajdujemy się na gałęzi `main`. Przejdźmy dalej i zróbmy połączenie rebase z branchem `bugFix`..." ], "afterMarkdowns": [ - "Oto jest! Ponieważ `main` był przodkiem `bugFix`, git po prostu przesunął odniesienie do `main` do przodu w historii." + "Gotowe! Ponieważ `main` był przodkiem `bugFix`, git po prostu przesunął odniesienie do `main` do przodu w historii." ], "command": "git rebase bugFix", "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase main; git checkout main" @@ -1178,9 +1179,9 @@ exports.level = { "* Przejdź do nowej gałęzi o nazwie `bugFix`", "* Zrób commit", "* Wróć do gałęzi `main` i zrób kolejny commit", - "* Przejdź do `bugFix` i połącz za pomocą rebase z main", + "* Przejdź do `bugFix` i połącz za pomocą rebase z `main`", "", - "Powodzenia, misja zakończona!" + "Powodzenia!" ] } } diff --git a/src/levels/mixed/describe.js b/src/levels/mixed/describe.js index 83b26b27..925ed081 100644 --- a/src/levels/mixed/describe.js +++ b/src/levels/mixed/describe.js @@ -6,39 +6,39 @@ exports.level = { "en_US": "Git Describe", "fr_FR": "Git describe", "de_DE": "Git Describe", - "ja" : "Git Describe", + "ja": "Git Describe", "es_AR": "Git Describe", "es_ES": "Git Describe", "pt_BR": "Git Describe", - "gl" : "Git Describe", + "gl": "Git Describe", "zh_TW": "git describe", "zh_CN": "Git Describe", "ru_RU": "Git describe", - "ko" : "Git describe(묘사)", - "uk" : "Git Describe", + "ko": "Git describe(묘사)", + "uk": "Git Describe", "vi": "Git Describe(mô tả)", "sl_SI": "Git Describe", "it_IT": "Git Describe", - "pl": "Git Describe" + "pl": "Git describe" }, "hint": { "en_US": "Just commit once on bugFix when you're ready to move on", "fr_FR": "Faites un commit sur bugFix quand vous êtes prêt", "de_DE": "Committe nur einmal auf bugFix, wenn du soweit bist", - "ja" : "次に進む準備が整ったなら、bugFixに対して一回commitしてください", + "ja": "次に進む準備が整ったなら、bugFixに対して一回commitしてください", "es_AR": "Simplemente commiteá una vez en bugFix cuando estés listo para seguir", "es_ES": "Simplemente crea un commit en la rama bugFix cuando estés listo para seguir", "pt_BR": "Simplesmente commite uma vez em bugFix quando quiser parar de experimentar", - "gl" : "Simplemente fai commit en bugFix cando estés listo para continuar.", + "gl": "Simplemente fai commit en bugFix cando estés listo para continuar.", "zh_TW": "當你要移動的時候,只要在 bugFix 上面 commit 就好了", "zh_CN": "当你准备好时,在 bugFix 分支上面提交一次就可以了", "ru_RU": "Когда закончишь, просто сделай commit", - "ko" : "다음으로 넘어가고 싶으면 bugFix를 한번 커밋하면 됩니다.", - "uk" : "Просто зроби один коміт в bugFix коли ти будеш готовий іти далі", + "ko": "다음으로 넘어가고 싶으면 bugFix를 한번 커밋하면 됩니다.", + "uk": "Просто зроби один коміт в bugFix коли ти будеш готовий іти далі", "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.", "it_IT": "Fai un commit da bugFix per procedere", - "pl": "Zcommituj raz na bugFix kiedy jesteś gotowy, aby przejść dalej", + "pl": "Zcommituj raz na bugFix, żeby przejść dalej", }, "startDialog": { "en_US": { @@ -484,7 +484,7 @@ exports.level = { } ] }, - "gl" : { + "gl": { "childViews": [ { "type": "ModalAlert", @@ -738,7 +738,7 @@ exports.level = { } ] }, - "ko": { + "ko": { "childViews": [ { "type": "ModalAlert", @@ -996,11 +996,11 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "### Git Describe", + "### Git describe", "", - "Ponieważ znaczniki służą jako tak wspaniałe \"kotwice\" w bazie kodu, git ma polecenie *opisujące*, gdzie jesteś w stosunku do najbliższej \"kotwicy\". Ta komenda nazywa się `git describe`!", + "Ponieważ znaczniki służą jako świetne \"kotwice\" w bazie kodu, git ma polecenie *opisujące*, gdzie jesteś w stosunku do najbliższej \"kotwicy\". I jest to `git describe`!", "", - "`Git describe` może pomóc Ci zorientować się w sytuacji, gdy przesunąłeś wiele commitów wstecz lub do przodu w historii; może się to zdarzyć po wykonaniu bisekcji git (na potrzeby debugowania) lub gdy siedzisz przy komputerze współpracownika, który właśnie wrócił z wakacji." + "`Git describe` może pomóc ci zorientować się w sytuacji, gdy przesuniesz wiele commitów wstecz lub do przodu w historii; może się to zdarzyć po użyciu git bisect (na potrzeby debugowania) lub gdy siedzisz przy komputerze współpracownika, który właśnie wrócił z wakacji." ] } }, @@ -1012,13 +1012,13 @@ exports.level = { "", "`git describe `", "", - "Gdzie `` jest czymkolwiek, co git może przekształcić w commit. Jeśli nie podasz ``, git użyje miejsca, w którym jesteś teraz zcheckoutowany (`HEAD`).", + "Gdzie `` jest czymkolwiek, co git może odnieść do commita. Jeśli nie podasz ``, git użyje miejsca, w którym jesteś teraz zcheckoutowany (`HEAD`).", "", "Wynik polecenia wygląda następująco:", "", "`__g`", "", - "Gdzie `tag` jest najbliższym tagiem przodka w historii, `numCommits` jest liczbą commitów od tego tagu, a `` jest hashem opisywanego commitu." + "`tag` jest znacznikiem najbliższego przodka w historii, `numCommits` jest liczbą commitów od tego znacznika, a `` jest haszem opisywanego commitu." ] } }, @@ -1026,14 +1026,14 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Przyjrzyjmy się szybkiemu przykładowi. Dla tego drzewa poniżej:" + "Przyjrzyjmy się krótkiemu przykładowi. Dla tego drzewa poniżej:" ], "afterMarkdowns": [ - "Polecenie `git describe main` dałoby wynik:", + "polecenie `git describe main` dałoby wynik:", "", "`v1_2_gC2`", "", - "Gdzie `git describe side` dałoby wynik:", + "a `git describe side` dałoby wynik:", "", "`v2_1_gC4`" ], @@ -1045,9 +1045,9 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "To w zasadzie wszystko, co jest musisz wiedzieć o `git describe`! Spróbuj opisać kilka miejsc na tym poziomie, aby wyczuć to polecenie.", + "To w zasadzie wszystko, co musisz wiedzieć o `git describe`! Spróbuj opisać kilka miejsc na tym poziomie, aby wyczuć to polecenie.", "", - "Kiedy będziesz gotowy, po prostu zrób jeden commit, aby ukończyć poziom. Dajemy Ci bonusa :P" + "Kiedy zechesz przejść dalej, po prostu zrób jeden commit, aby ukończyć poziom. Masz to w gratisie :P" ] } } diff --git a/src/levels/mixed/grabbingOneCommit.js b/src/levels/mixed/grabbingOneCommit.js index 509817a4..5914b3ce 100644 --- a/src/levels/mixed/grabbingOneCommit.js +++ b/src/levels/mixed/grabbingOneCommit.js @@ -2,7 +2,7 @@ exports.level = { "compareOnlyMainHashAgnosticWithAsserts": true, "goalAsserts": { "main": [ - function(data) { + function (data) { return data.C4 > data.C1; } ] @@ -21,7 +21,7 @@ exports.level = { "es_AR": "Tomando un único commit", "es_ES": "Tomando un único commit", "pt_BR": "Pegando um único commit", - "gl" : "Escollendo un único commit", + "gl": "Escollendo un único commit", "ja": "一つのコミットのみを取得", "zh_CN": "只取一个提交记录", "zh_TW": "只取一個 commit", @@ -39,7 +39,7 @@ exports.level = { "es_AR": "Acordate, el rebase interactivo o cherry-pick son tus amigos acá", "es_ES": "Recuerda, el rebase interactivo y el cherry-pick son tus amigos", "pt_BR": "Lembre-se, o rebase interativo ou o cherry-pick são seus amigos aqui", - "gl" : "Recorda, o rebase interativo ou cherry-pick é un dos teus colegas aquí", + "gl": "Recorda, o rebase interativo ou cherry-pick é un dos teus colegas aquí", "ja": "このレベルではインタラクティブモードのrebaseやcherry-pickがクリアのカギです", "ko": "대화식 리베이스(rebase -i)나 or 체리픽(cherry-pick)을 사용하세요", "zh_CN": "你有两个朋友,cherry-pick 和 rebase -i", @@ -49,8 +49,8 @@ exports.level = { "vi": "Hãy nhớ 2 anh bạn tương tác rebase và cherry-pick!", "sl_SI": "Pomni, interaktivni rebase ali cherry-pick sta tu tvoja prijatelja.", "it_IT": "Ricorda, rebase interattivo o cherry-pick sono tuoi amici", - "pl": "Pamiętaj, interaktywny rebase oraz cherry-picking są tu twoimi przyjaciółmi", - }, + "pl": "Pamiętaj, że znasz już interaktywny rebase oraz cherry-pick", + }, "startDialog": { "en_US": { "childViews": [ @@ -645,11 +645,11 @@ exports.level = { "markdowns": [ "## Lokalnie nałożone commity", "", - "Oto sytuacja, która często się zdarza podczas pisania kodu: próbuję wytropić błąd, ale jest on dość nieuchwytny. Aby pomóc sobie w mojej pracy detektywistycznej, umieszczam kilka poleceń debugowania i kilka instrukcji print.", + "Oto sytuacja, która często się zdarza podczas pisania kodu: próbuję wytropić buga, ale on jest nieuchwytny. Aby pomóc sobie w poszukiwaniach, dodaję kilka poleceń debugowania i kilka instrukcji print.", "", "Wszystkie te polecenia debugowania / drukowania znajdują się w osobnych commitach. W końcu namierzam błąd, naprawiam go i cieszę się!", "", - "Jedynym problemem jest to, że teraz muszę przywrócić mój `bugFix` do gałęzi `main`. Jeśli po prostu zrobiłbym fast-foward `main`, wtedy `main` dostałby wszystkie moje deklaracje debugowania, czego bym nie chciał. Musi być na to inny sposób. . ." + "Jedynym problemem jest to, że teraz muszę przywrócić mój `bugFix` do gałęzi `main`. Jeśli po prostu zrobiłbym fast-foward `main`, wtedy `main` dostałby wszystkie moje deklaracje debugowania, a tego bym nie chciał. Musi być na to inny sposób. . ." ] } }, @@ -657,12 +657,12 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Musimy powiedzieć gitowi, żeby skopiował tylko jeden z commitów. Dokładnie w ten sam sposób jak we wcześniejszych poziomach z przenoszeniem pracy -- używając tych samych komend:", + "Musimy powiedzieć Gitowi, żeby skopiował tylko jeden z commitów. Dokładnie w ten sam sposób jak we wcześniejszych poziomach z przenoszeniem pracy -- używając tych samych poleceń:", "", "* `git rebase -i`", "* `git cherry-pick`", "", - "Aby osiągnać ten cel." + "aby osiągnać ten cel." ] } }, @@ -670,7 +670,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Jest to wyższy poziom, więc pozostawimy Ci decyzję, której komendy chcesz użyć, ale aby ukończyć poziom, upewnij się, że `main` otrzyma commit, do którego odwołuje się `bugFix`." + "Jest to wyższy poziom, więc pozostawimy ci decyzję, której komendy chcesz użyć, ale aby ukończyć poziom, upewnij się, że `main` otrzyma commit, do którego odwołuje się `bugFix`." ] } } diff --git a/src/levels/mixed/jugglingCommits.js b/src/levels/mixed/jugglingCommits.js index 0039f607..ef270649 100644 --- a/src/levels/mixed/jugglingCommits.js +++ b/src/levels/mixed/jugglingCommits.js @@ -6,10 +6,10 @@ exports.level = { "compareOnlyMainHashAgnosticWithAsserts": true, "goalAsserts": { "main": [ - function(data) { + function (data) { return data.C2 > data.C3; }, - function(data) { + function (data) { return data.C2 > data.C1; } ] @@ -25,7 +25,7 @@ exports.level = { "es_AR": "Haciendo malabares con los commits", "es_ES": "Haciendo malabares con los commits", "pt_BR": "Malabarismo com commits", - "gl" : "Argallando cos commits", + "gl": "Argallando cos commits", "ja": "コミットをやりくりする", "zh_CN": "提交的技巧 #1", "zh_TW": "commit 的戲法", @@ -43,7 +43,7 @@ exports.level = { "es_AR": "El primer comando es git rebase -i HEAD~2", "es_ES": "El primer comando es git rebase -i HEAD~2", "pt_BR": "O primeiro comando é git rebase -i HEAD~2", - "gl" : "O primeiro comando é git rebase -i HEAD~2", + "gl": "O primeiro comando é git rebase -i HEAD~2", "ja": "最初に打つコマンドはgit rebase -i HEAD~2", "ko": "첫번째 명령은 git rebase -i HEAD~2 입니다", "zh_CN": "第一个命令是 `git rebase -i HEAD~2`", @@ -53,7 +53,7 @@ exports.level = { "vi": "Lệnh đầu tiên là git rebase -i HEAD~2", "sl_SI": "Prvi ukaz je git rebase -i HEAD~2.", "it_IT": "Il primo comando è git rebase -i HEAD~2", - "pl": "Pierwszą komendą jest git rebase -i HEAD~2", + "pl": "Pierwsze polecenie to: git rebase -i HEAD~2", }, "startDialog": { "en_US": { @@ -283,7 +283,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Um das zu schaffen gehen wir wie folgt vor:", + "Um das zu schaffen gehen wir wie folgt vor:", "", "* Wir sortieren die Commits mit `git rebase -i` so um, dass der Commit, den wir ändern wollen, ganz oben liegt.", "* Wir verändern den Commit mit `git commit --amend`.", @@ -578,9 +578,9 @@ exports.level = { "markdowns": [ "## Żonglowanie commitami", "", - "Oto inna sytuacja, która zdarza się dość często. Masz pewne zmiany (`newImage`) i inny zestaw zmian (`caption`), które są powiązane, więc są one ułożone jeden na drugim w twoim repozytorium (tzw. jeden po drugim).", + "Oto inna sytuacja, która zdarza się dość często. Masz pewne zmiany (`newImage`) i inny zestaw zmian (`caption`), które są powiązane, więc są one ułożone jedne na drugim w twoim repozytorium (tzw. jeden po drugim).", "", - "Podstępną rzeczą jest to, że czasami trzeba dokonać małej modyfikacji wcześniejszego commitu. W tym przypadku projektant chce, abyśmy zmienili nieco wymiary `newImage`, nawet jeśli ten commit jest daleko w tyle w naszej historii!!!" + "Problem polega na tym, że czasami trzeba dokonać małej modyfikacji wcześniejszego commitu. W tym przypadku projektant chce, abyśmy zmienili nieco wymiary `newImage`, mimo że ten commit jest daleko w tyle w naszej historii!!!" ] } }, @@ -593,12 +593,12 @@ exports.level = { "* Zmienimy kolejność commitów tak, aby ten, który chcemy zmienić, był na górze, używając `git rebase -i`.", "* Wykonamy `git commit --amend`, aby dokonać niewielkiej modyfikacji", "* Następnie zmienimy kolejność commitów z powrotem na taką, jaka była poprzednio za pomocą `git rebase -i`.", - "* Na koniec przeniesiemy się do tej zaktualizowanej części drzewa, aby zakończyć poziom (w wybrany przez Ciebie sposób)", + "* Na koniec przeniesiemy się do tej zaktualizowanej części drzewa, aby ukończyć ten poziom (w wybrany przez ciebie sposób)", "", - "Istnieje wiele sposobów na osiągnięcie tego ogólnego celu (widzę, że masz oko na cherry-pick'ing), i zobaczymy więcej z nich później, ale na razie skupmy się na tej technice.", - "Na koniec, zwróć uwagę na stan celu - ponieważ przenosimy commit'y dwukrotnie, oba otrzymują apostrof. Dodajemy jeszcze jeden apostrof dla commitu, który zmieniamy, co daje nam ostateczną postać drzewa", + "Istnieje wiele sposobów na osiągnięcie tego ogólnego celu (widzę, że masz na oku cherry-pick), i później zobaczymy ich więcej, ale na razie skupmy się na tej technice.", + "Na koniec, zwróć uwagę na stan celu - ponieważ przenosimy commity dwukrotnie, oba otrzymują apostrof. Dodajemy jeszcze jeden apostrof dla commitu, który zmieniamy, co daje nam ostateczną postać drzewa", "", - "To powiedziawszy, mogę teraz porównać poziomy w oparciu o strukturę i względne różnice apostrofów. Tak długo, jak gałąź `main` Twojego drzewa ma taką samą strukturę, rozwiązanie zostanie uznane." + "Uwzględniając to, mogę teraz porównać poziomy w oparciu o strukturę i względne różnice apostrofów. Tak długo, jak gałąź `main` twojego drzewa ma taką samą strukturę, rozwiązanie zostanie uznane." ] } } diff --git a/src/levels/mixed/jugglingCommits2.js b/src/levels/mixed/jugglingCommits2.js index 2bf01ba2..cad216e9 100644 --- a/src/levels/mixed/jugglingCommits2.js +++ b/src/levels/mixed/jugglingCommits2.js @@ -8,10 +8,10 @@ exports.level = { "compareOnlyMainHashAgnosticWithAsserts": true, "goalAsserts": { "main": [ - function(data) { + function (data) { return data.C2 >= data.C3; }, - function(data) { + function (data) { return data.C2 > data.C1; } ] @@ -23,7 +23,7 @@ exports.level = { "es_AR": "Haciendo malabares con los commits #2", "es_ES": "Haciendo malabares con los commits #2", "pt_BR": "Malabarismo com commits #2", - "gl" : "Argallando cos commits #2", + "gl": "Argallando cos commits #2", "de_DE": "Jonglieren mit Commits Teil 2", "ja": "コミットをやりくりする その2", "zh_CN": "提交的技巧 #2", @@ -41,7 +41,7 @@ exports.level = { "es_AR": "¡No te olvides de avanzar main a los cambios actualizados!", "es_ES": "¡No te olvides de avanzar main a los cambios actualizados!", "pt_BR": "Não se esqueça de avançar a referência do main para as mudanças efetuadas!", - "gl" : "¡Non te esquezas de avanzar main ós cambios actualizados!", + "gl": "¡Non te esquezas de avanzar main ós cambios actualizados!", "de_DE": "Vergiss nicht den main auf die aktuelle Version vorzuspulen", "ja": "mainのポインタを先に進めることを忘れずに!", "ko": "main을 변경 완료한 커밋으로 이동(forward)시키는 것을 잊지 마세요!", @@ -51,7 +51,7 @@ exports.level = { "uk": "Не забудь перемістити main на останні зміни!", "vi": "Đừng quên đẩy nhánh main lên cập nhật mới nhất!", "sl_SI": "Ne pozabi prestaviti main naprej na posodobljene spremembe.", - "it_IT": + "it_IT": "Non dimenticare di avanzare il main verso le ultime modifiche aggiornate!", "pl": "Nie zapomnij zforwardować maina do najnowszych zmian!", }, @@ -703,9 +703,9 @@ exports.level = { "markdowns": [ "## Żonglowanie commitami #2", "", - "*Jeśli nie ukończyłeś Żonglowania commitami #1 (poprzedni poziom), zrób to przed przejściem dalej*", + "*Ukończ poprzedni poziom Żonglowania commitami przed przejściem dalej*", "", - "Jak widziałeś na ostatnim poziomie, użyliśmy `rebase -i` aby zmienić kolejność commitów. Kiedy commit, który chcieliśmy zmienić, był już na górze, mogliśmy go łatwo zmienić (`--amend`), a następnie przywrócić do odpowiedniej kolejności.", + "Na poprzednim poziomie, użyliśmy `rebase -i` aby zmienić kolejność commitów. Kiedy commit, który chcieliśmy zmienić, był już na górze, mogliśmy go łatwo zmienić (`--amend`), a następnie przywrócić do odpowiedniej kolejności.", "", "Jedynym problemem jest to, że dokonuje się wiele zmian w kolejności, co może powodować konflikty podczas rebase'u. Przyjrzyjmy się innej metodzie korzystającej z `git cherry-pick`." ] @@ -715,7 +715,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Pamiętaj, że git cherry-pick umieści commit z dowolnego miejsca w drzewie na HEAD (tak długo, jak ten commit nie jest przodkiem HEAD).", + "Pamiętaj, że git cherry-pick umieści commit z dowolnego miejsca drzewa na HEAD (o ile ten commit nie jest przodkiem HEAD).", "", "Oto małe demo na odświeżenie pamięci:" ], @@ -730,9 +730,9 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Więc na tym poziomie, osiągnijmy ten sam cel zmiany `C2` raz, ale unikając użycia `rebase -i`. Zostawię Ci to do rozgryzienia! :D", + "Więc na tym poziomie, osiągnijmy ten sam cel zmiany `C2`, ale unikając użycia `rebase -i`. Zostawię Ci to do rozgryzienia! :D", "", - "Pamiętaj, że dokładna liczba apostrofów (') na zobowiązaniu nie jest ważna, tylko względne różnice. Na przykład, uznam drzewo, które pasuje do drzewa celu, ale ma wszędzie jeden dodatkowy apostrof." + "Pamiętaj, że dokładna liczba apostrofów (') nie jest ważna, tylko względne różnice. Na przykład, uznam drzewo, które pasuje do drzewa celu, ale ma wszędzie jeden dodatkowy apostrof." ] } } diff --git a/src/levels/mixed/tags.js b/src/levels/mixed/tags.js index 408fa4ea..612d6f6c 100644 --- a/src/levels/mixed/tags.js +++ b/src/levels/mixed/tags.js @@ -5,37 +5,37 @@ exports.level = { "name": { "en_US": "Git Tags", "de_DE": "Git Tags", - "ja" : "Gitのタグ", + "ja": "Gitのタグ", "es_AR": "Tags en git", "es_ES": "Tags en git", "pt_BR": "Tags no Git", - "gl" : "Etiquetas en git", + "gl": "Etiquetas en git", "fr_FR": "Git Tags", "zh_CN": "Git Tag", "zh_TW": "git tag", "ru_RU": "git tag", - "ko" : "Git 태그", - "uk" : "Git Tags", - "vi" : "Tag trong Git", + "ko": "Git 태그", + "uk": "Git Tags", + "vi": "Tag trong Git", "sl_SI": "Git Tagi", "it_IT": "Git Tag", - "pl": "Git Tagi", + "pl": "Tagi Gita", }, "hint": { "en_US": "you can either check out the commit directly or simply checkout the tag!", "fr_FR": "Vous pouvez faire le checkout sur le commit ou sur le tag !", "de_DE": "Du kannst den Checkout entweder direkt auf den Commit oder das Tag machen.", - "ja" : "コミットを直接チェックアウトできますが、簡単にタグでチェックアウトすることも可能!", + "ja": "コミットを直接チェックアウトできますが、簡単にタグでチェックアウトすることも可能!", "es_AR": "Podés checkoutear directamente el commit, ¡o simplemente el tag!", "es_ES": "Puedes hacer checkout directamente el commit, ¡o simplemente el tag!", "pt_BR": "Você pode fazer checkout diretamente no commit ou na tag correspondente!", - "gl" : "Podes saltar directamente ó commit, ¡ou a etiqueta, que é máis doado!", + "gl": "Podes saltar directamente ó commit, ¡ou a etiqueta, que é máis doado!", "zh_TW": "你可以直接 checkout 到 commit 上,或是簡單的 checkout 到 tag 上", "zh_CN": "你可以直接 checkout 到 commit 上,或是简单地 checkout 到 tag 上", "ru_RU": "Можно сделать checkout напрямую на коммит или же на тег", - "ko" : "커밋을 직접 또는 태그를 이용해서 체크아웃할수 있습니다!", - "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!", + "ko": "커밋을 직접 또는 태그를 이용해서 체크아웃할수 있습니다!", + "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!", "sl_SI": "Checkoutaš lahko neposredno commit ali pa preprosto njegov tag!", "it_IT": "Puoi fare direttamente checkout del commit o semplicemente del tag!", @@ -489,7 +489,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Lass uns ein Tag bei `C1` anlegen und damit die Version 1 unseres Prototyps markieren." + "Lass uns ein Tag bei `C1` anlegen und damit die Version 1 unseres Prototyps markieren." ], "afterMarkdowns": [ "Peng! Ziemlich einfach. Wir haben das Tag `v1` genannt und lassen es auf `C1` zeigen. Wenn du den Commit weglässt, wird das Tag für den Commit erzeugt, auf den `HEAD` zeigt." @@ -828,11 +828,11 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "## Git Tagi", + "## Tagi Gita", "", - "Jak dowiedziałeś się z poprzednich lekcji, gałęzie są łatwe w przemieszczaniu i często odnoszą się do różnych commitów, w miarę jak praca nad nimi jest kończona. Gałęzie łatwo ulegają mutacjom, często są tymczasowe i zawsze się zmieniają.", + "Jak wiesz z poprzednich lekcji, gałęzie łatwo przemieszczać i w momencie ukończenia pracy nad nimi często odnoszą się do różnych commitów. Gałęzie łatwo ulegają mutacjom, często są tymczasowe i zawsze się zmieniają.", "", - "Jeśli tak jest, możesz się zastanawiać, czy istnieje sposób na *permanentne* zaznaczanie punktów historycznych w historii projektu. Czy istnieje jakiś sposób na oznaczenie tych commitów czymś bardziej trwałym niż gałąź, w przypadku takich rzeczy jak duże wydania i duże scalenia/merdże?", + "A skoro tak, to możesz się zastanawiać, czy istnieje sposób na *trwałe* zaznaczanie ważnych punktów w historii projektu. Czy istnieje jakiś sposób na oznaczenie tych commitów czymś bardziej trwałym niż gałąź, w przypadku takich rzeczy jak duże wydania i duże scalenia/ merge?", "" ] } @@ -841,9 +841,9 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Pewnie, że tak! Znaczniki/tagi Git obsługują dokładnie ten przypadek użycia -- (w pewnym sensie) trwale oznaczają pewne commity jako \"kamienie milowe\", do których można się następnie odnieść (po nazwie) jak do gałęzi.", + "Pewnie, że tak! Znaczniki/tagi Gita obsługują dokładnie ten przypadek użycia -- (do pewnego stopnia) trwale oznaczają pewne commity jako \"kamienie milowe\", do których można się następnie odnieść (po nazwie) jak do gałęzi.", "", - "Co ważniejsze jednak, nigdy się nie przesuwają, gdy tworzone są kolejne commity. Nie można \"checkoutować\" tagu, a następnie zakończyć pracę nad nim (jakby był gałęzią, na której można zapisać nowe zmiany) - tagi istnieją jako kotwice w drzewie commitów, które wyznaczają pewne miejsca.", + "Co ważniejsze jednak, nigdy się nie przesuwają, gdy tworzone są kolejne commity. Nie można \"checkoutować\" tagu, a następnie zakończyć pracy nad nim (jakby był gałęzią, na której można zapisać nowe zmiany) - tagi są jak kotwice w drzewie commitów, które wyznaczają pewne miejsca.", "", "Zobaczmy jak tagi wyglądają w praktyce." ] @@ -853,10 +853,10 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Spróbujmy zrobić tag w `C1`, który jest naszym prototypem w wersji 1." + "Spróbujmy zrobić tag w `C1`, który jest prototypem naszej wersji 1." ], "afterMarkdowns": [ - "Otóż to! Całkiem proste. Nazwaliśmy tag `v1` i odwołaliśmy się do commitu `C1` w sposób jawny. Jeśli nie wskażesz konkretnego commitu, git użyje commitu na który wskazuje `HEAD`." + "Otóż to! Całkiem proste. Nazwaliśmy tag `v1` i odwołaliśmy się do commitu `C1` w sposób jawny. Jeśli nie wskażesz konkretnego commitu, Git użyje commitu na który wskazuje `HEAD`." ], "command": "git tag v1 C1", "beforeCommand": "git commit" @@ -866,7 +866,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Dla tego poziomu utwórz tagi takie jak w wizualizacji celu, a następnie zchckoutuj `v1`. Zauważ, że przechodzisz do odłączonego stanu `HEAD` - to dlatego, że nie możesz commitować bezpośrednio na tagu `v1`.", + "Dla tego poziomu utwórz tagi takie jak w wizualizacji celu, a następnie zcheckoutuj `v1`. Zauważ, że przechodzisz do odłączonego stanu `HEAD` - to dlatego, że nie możesz commitować bezpośrednio na tagu `v1`.", "", "Na kolejnym poziomie przeanalizujemy bardziej interesujący przypadek użycia tagów." ] diff --git a/src/levels/rampup/cherryPick.js b/src/levels/rampup/cherryPick.js index fb0b671f..7643b841 100644 --- a/src/levels/rampup/cherryPick.js +++ b/src/levels/rampup/cherryPick.js @@ -10,36 +10,36 @@ exports.level = { "fr_FR": "Introduction à cherry-pick", "en_US": "Cherry-pick Intro", "de_DE": "Einführung Cherry-Picking", - "ja" : "cherry-pick入門", + "ja": "cherry-pick入門", "es_AR": "Introducción a cherry-pick", "es_ES": "Introducción a cherry-pick", "pt_BR": "Introdução ao cherry-pick", - "gl" : "Introuducción a cherry-pick", + "gl": "Introuducción a cherry-pick", "zh_CN": "Git Cherry-pick", "zh_TW": "介紹 cherry-pick", "ru_RU": "Введение в Cherry-pick", - "ko" : "Cherry-pick 소개", + "ko": "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", "it_IT": "Introduzione al cherry-pick", - "pl": "Wprowadzenie do Cherry-pick'ingu" + "pl": "Wprowadzenie do cherry-pick" }, "hint": { "fr_FR": "git cherry-pick suivi par les noms de commits", "en_US": "git cherry-pick followed by commit names!", "de_DE": "git cherry-pick gefolgt von Commit-Namen.", - "ja" : "git cherry-pickの後にコミット名を追加", + "ja": "git cherry-pickの後にコミット名を追加", "es_AR": "git cherry-pick seguido de los nombres de los commits", "es_ES": "git cherry-pick seguido de los nombres de los commits", "pt_BR": "git cherry-pick seguido dos nomes dos commits", - "gl" : "git cherry-pick seguido das referencias a commits", + "gl": "git cherry-pick seguido das referencias a commits", "zh_CN": "git cherry-pick 后面要跟提交的名字", "zh_TW": "git cherry-pick 後面要接著 commit 的名稱", "ru_RU": "git cherry-pick основывается на именах коммитов!", - "ko" : "커밋의 이름들로 git cherry-pick 하세요!", + "ko": "커밋의 이름들로 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.", "it_IT": "git cherry-pick seguito dai nomi dei commit!", "pl": "git cherry-pick a po nim nazwy commitów!", @@ -671,7 +671,7 @@ exports.level = { } ] }, - "ko": { + "ko": { "childViews": [ { "type": "ModalAlert", @@ -907,11 +907,11 @@ exports.level = { "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.", + "Do tej pory zajmowaliśmy się podstawami Gita - commitami, gałęziami i poruszaniem się w drzewie źródłowym. Samo to wystarczy, aby wykorzystać 90% mocy repozytoriów Git i zaspokoić główne potrzeby programistó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.", + "Pozostałe 10% może być jednak dość użyteczne podczas niecodziennych zadań (lub kiedy wpakujesz się w kłopoty). Kolejny temat, którą zamierzamy omówić to \"przenoszenie pracy\" - innymi słowy, jest to sposób, w jaki programiści mogą powiedzieć: \"Chcę te zmiany tu, a tamte tam\" w precyzyjny, elegancki i elastyczny sposób.", "", - "To może wydawać się sporo, ale to prosta koncepcja." + "Może się to wydawać się skomplikowane, ale tak nie jest." ] } }, @@ -919,13 +919,13 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "## Git Cherry-pick", + "## Git cherry-pick", "", - "Pierwsza komenda w tej serii nazywa się `git cherry-pick`. Przyjmuje ona następującą formę:", + "Pierwsza polecenie w tej serii nazywa się `git cherry-pick`. Przyjmuje ono 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.", + "Jest to bardzo prosty sposób określenia że chcesz przenieść zmiany poniżej swojej obecnej lokalizacji (`HEAD`). Osobiście uwielbiam `cherry-pick` ponieważ działa prosto i skutecznie.", "", "Zobaczmy demo!", "" @@ -936,10 +936,10 @@ exports.level = { "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." + "W tym repozytorium mamy trochę pracy na gałęzi `side`, którą chcemy skopiować do gałęzi `main`. Można by to osiągnąć przy użyciu rebase (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!" + "To jest to! Chcieliśmy aby git dodał do `main` commity `C2` i `C4`. 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;" @@ -949,8 +949,8 @@ exports.level = { "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.", - "" + "Aby ukończyć ten poziom, po prostu skopiuj część pracy z trzech pokazanych gałęzi do `main`. Commity, które należy skopiować znajdują się na wizualizacji celu.", + "" ] } } diff --git a/src/levels/rampup/detachedHead.js b/src/levels/rampup/detachedHead.js index 0abb5108..65668e75 100644 --- a/src/levels/rampup/detachedHead.js +++ b/src/levels/rampup/detachedHead.js @@ -7,38 +7,38 @@ exports.level = { "es_AR": "Desatacheá tu HEAD", "es_ES": "Desatachea tu HEAD", "pt_BR": "Solte a sua cabeça", - "gl" : "Abandona o teu HEAD", + "gl": "Abandona o teu HEAD", "fr_FR": "Détacher votre HEAD", "zh_CN": "分离 HEAD", "zh_TW": "分離 HEAD", "de_DE": "Den Kopf abtrennen", - "ja" : "HEADの分離", + "ja": "HEADの分離", "ru_RU": "Теряем голову, или detached HEAD", - "ko" : "HEAD 분리하기", + "ko": "HEAD 분리하기", "uk": "Втрачаємо голову чи detached HEAD", 'vi': "Tháo đầu cái nào", "sl_SI": "Ločevanje tvoje glave - HEAD-a", "it_IT": "Perdere la testa (HEAD)", - "pl" : "Odczep swój HEAD" + "pl": "Odczep sobie HEAD" }, "hint": { "en_US": "Use the label (hash) on the commit for help!", "es_AR": "¡Usá la etiqueta (hash) sobre el commit para ayudarte!", "es_ES": "¡Usa la etiqueta (hash) sobre el commit para ayudarte!", "pt_BR": "Use o identificador (hash) sobre o commit para te ajudar!", - "gl" : "¡Usa a etiqueta (hash) sobre o commit para axudarte!", + "gl": "¡Usa a etiqueta (hash) sobre o commit para axudarte!", "de_DE": "Benutze den Bezeichner (den Hash) des Commits.", - "ja" : "コミットのラベル(hash)を使用", + "ja": "コミットのラベル(hash)を使用", "fr_FR": "Utilisez le label (identifiant) du commit pour aider !", "zh_TW": "使用 commit 上的標籤(hash)來幫助你!", "zh_CN": "使用提交记录上的标签(哈希值)来指定提交记录!", "ru_RU": "Ориентируйся по идентификаторам (hash) коммитов.", - "ko" : "커밋에 있는 라벨(hash)을 활용하세요!", + "ko": "커밋에 있는 라벨(hash)을 활용하세요!", "uk": "Орієнтуйся по індентифікаторам (hash) комітів.", "vi": "Dùng mã băm (hash) của commit để hoàn thành!", "sl_SI": "Uporabi oznako (hash) commita za pomoč!", "it_IT": "Usa l'etichetta (hash) sul commit per aiutarti!", - "pl": "Wpisz (hash) w wiadomości commita aby uzyskać pomoc!", + "pl": "Użyj nazwy commita (hasha)!", }, "startDialog": { "en_US": { @@ -895,7 +895,7 @@ exports.level = { } ] }, - "ko": { + "ko": { "childViews": [ { "type": "ModalAlert", @@ -1217,7 +1217,7 @@ exports.level = { "", "Zanim przejdziemy do niektórych z bardziej zaawansowanych funkcji Gita, ważne jest, aby zrozumieć różne sposoby poruszania się po drzewie commitów, które reprezentują twój projekt.", "", - "Kiedy będziesz już czuć się swobodnie, twoje moce z innymi komendami gitowymi zostaną wzmocnione!", + "Kiedy już poczujesz się z tym wygodnie to i inne komendy Gita nabiorą więcej mocy!", "", "", "", @@ -1232,11 +1232,11 @@ exports.level = { "markdowns": [ "## HEAD", "", - "Najpierw musimy porozmawiać o \"HEAD\". HEAD to symboliczna nazwa dla aktualnie zcheckout'owanego commitu - jest to zasadniczo ostatni commit nad, którym pracowałeś.", + "Najpierw musimy porozmawiać o \"HEAD\". HEAD to symboliczna nazwa dla aktualnie zcheckoutowanego (wyciągniętego) commita - jest to zasadniczo ostatni commit nad, którym pracowałeś.", "", - "HEAD zawsze wskazuje na najnowszy commit, który jest odzwierciedlony w drzewie zmian. Większość poleceń git, które wprowadzają zmiany w drzewie, zaczyna się od zmiany HEAD'a.", + "HEAD zawsze wskazuje na najnowszy commit, który jest odzwierciedlony w drzewie zmian. Większość poleceń git, które wprowadzają zmiany w drzewie, zaczyna się od zmiany HEADa.", "", - "Normalnie HEAD wskazuje na nazwę gałęzi (jak np. `bugFix`). Kiedy commitujesz zmiany, status gałęzi `bugFix` się zmienia i zmiana ta jest widoczna właśnie poprzez przemieszczenie się HEAD'a." + "Normalnie HEAD wskazuje na nazwę gałęzi (jak np. `bugFix`). Kiedy commitujesz zmiany, status gałęzi `bugFix` się zmienia i zmiana ta jest widoczna właśnie poprzez przemieszczenie się HEADa." ] } }, @@ -1244,7 +1244,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Sprawdźmy to w akcji. Pokażemy HEAD przed i po commicie." + "Zobaczmy jak to działa. Pokażemy HEAD przed i po commicie." ], "afterMarkdowns": [ "Zobacz! HEAD przez cały czas ukrywał się pod naszą gałęzią `main`." @@ -1257,9 +1257,9 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "### Odłączanie HEAD'a", + "### Odłączanie HEADa", "", - "Odłączenie HEAD'a oznacza po prostu dołączenie go do commita, a nie gałęzi. Tak to wyglądało przed:", + "Odłączenie HEADa oznacza po prostu dołączenie go do commita, a nie gałęzi. Tak to wyglądało przed:", "", "HEAD -> main -> C1", "" @@ -1277,7 +1277,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Aby ukończyć ten poziom, odłącz HEAD od gałęzi `bugFix` i dołącz go do commita.", + "Aby ukończyć ten poziom, odłącz HEADa od gałęzi `bugFix` i dołącz go do commita.", "", "Możesz wybrać konkretnego commita posługując się jego haszem. Hasz każdego commita jest wyświetlany na okręgu, który go reprezentuje." ] diff --git a/src/levels/rampup/interactiveRebase.js b/src/levels/rampup/interactiveRebase.js index 86a5ef10..3bea5b72 100644 --- a/src/levels/rampup/interactiveRebase.js +++ b/src/levels/rampup/interactiveRebase.js @@ -11,15 +11,15 @@ exports.level = { "es_AR": "podés usar tanto ramas como referencias relativas (HEAD~) para especificar el objetivo del rebase", "es_ES": "puedes usar tanto ramas como referencias relativas (HEAD~) para especificar el objetivo del rebase", "pt_BR": "Você pode usar ou ramos ou referências relativas (HEAD~) para especificar o alvo do rebase", - "gl" : "Podes usar ramas ou referencias relativas (HEAD~) para especificar o obxectivo do rebase", + "gl": "Podes usar ramas ou referencias relativas (HEAD~) para especificar o obxectivo do rebase", "de_DE": "Du kannst entweder Branches oder relative Ref-Angaben (z.B. HEAD~) benutzen, um das Ziel des Rebase anzugeben.", "fr_FR": "Vous pouvez utiliser soit les branches, soit les références relatives (HEAD~) pour spécifier la cible à rebaser", "zh_CN": "branch 或者是相对位置(HEAD~)都可以用來指定 rebase 的目标", "zh_TW": "你可以指定 branch 或者是相對位置(HEAD~)來表示 rebase 的目標", "ru_RU": "Можно использовать либо ветки, либо относительные ссылки (HEAD~), чтобы указать цель для Rebase", - "ja" : "リベースする対象の指定には、ブランチ名や相対リファレンス(HEAD~)が使えます", - "ko" : "리베이스할 타겟으로 브랜치나 상대 참조(HEAD~)를 사용할 수 있습니다", - "uk" : "ти можеш використовувати гілки чи відносні посилання (HEAD~) щоб вказувати ціль для rebase", + "ja": "リベースする対象の指定には、ブランチ名や相対リファレンス(HEAD~)が使えます", + "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.", "it_IT": @@ -31,19 +31,19 @@ exports.level = { "es_AR": "Introducción al rebase interactivo", "es_ES": "Introducción al rebase interactivo", "pt_BR": "Introdução ao rebase interativo", - "gl" : "Introducción ó rebase interativo", + "gl": "Introducción ó rebase interativo", "de_DE": "Einführung Interaktives Rebase", - "ja" : "インタラクティブrebase入門", + "ja": "インタラクティブrebase入門", "fr_FR": "Introduction au rebase interactif", "zh_CN": "交互式 rebase", "zh_TW": "介紹互動式的 rebase", "ru_RU": "Введение в интерактивный Rebase", - "ko" : "인터랙티브 리베이스 소개", - "uk" : "Знайомство з інтерактивним rebase", - "vi" : "Giới thiệu về tương tác rebase", + "ko": "인터랙티브 리베이스 소개", + "uk": "Знайомство з інтерактивним rebase", + "vi": "Giới thiệu về tương tác rebase", "sl_SI": "Interaktivni uvod v Rebase", "it_IT": "Introduzione al rebase interattivo", - "pl": "Wprowadzenie do interaktywnego Rebase'a", + "pl": "Wprowadzenie do interaktywnego rebase'a", }, "startDialog": { "en_US": { @@ -1030,11 +1030,11 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "## Interaktywny Rebase w Gitcie", + "## Interaktywny rebase w Gicie", "", - "Cherry-pick'ing jest świetny, gdy wiesz, które commity (_oraz_ znasz ich hasze) chcesz przenieść - trudno jest dyskutować z prostotą, którą zapewnia.", + "Cherry-pick jest świetny, gdy wiesz, które commity chcesz przenieść (_oraz_ znasz ich hasze) - 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ć.", + "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 rebase - to najlepszy sposób, aby przejrzeć serię commitów, które zamierzasz rebase'ować (czyli: przebazować).", "", "Przejdźmy do szczegółów..." ] @@ -1046,9 +1046,9 @@ exports.level = { "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.", + "Jeśli włączysz tę opcję, Git otworzy okno, aby pokazać ci, które commity mają być skopiowane poniżej wskazanego celu przebazowania (np. HEADa). W oknie pokażą się również wiadomości i hasze commitów żeby ułatwić ci 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." + "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." ] } }, @@ -1056,14 +1056,14 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Kiedy otworzy się okno dialogowe do interaktywnego rebase'a, masz możliwość zrobienia dwóch rzeczy w naszej aplikacji edukacyjnej:", + "Kiedy otworzy się okno dialogowe do interaktywnego przeabazowania, 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.", + "* Możesz zmienić kolejność commitów po prostu przeciągając i upuszczając je myszką w oknie.", + "* Możesz zdecydować się na zachować wszystkie commity lub pominąć niektóre z nich. Jest to oznaczone przez aktywny przycisk `pick`. Wyłączenie przycisku spowoduje pominięciu 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.", + "* Warto wspomnieć, że w prawdziwym interaktywnym rebase'ie 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 wystarczy, że skupimy się na dwóch omówionych operacjach.", "", - "Świetnie! Spójrz na przykład." + "Świetnie! Spójrzmy na przykład." ] } }, @@ -1071,10 +1071,10 @@ exports.level = { "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!" + "Po naciśnięciu przycisku, pojawi się interaktywne okno przebazowania. 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." + "Gotowe! 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" @@ -1084,7 +1084,7 @@ exports.level = { "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" + "Aby ukończyć ten poziom, zrób interaktywny rebase i ustaw kolejność pokazaną w wizualizacji celu. Pamiętaj, że zawsze możesz użyć `undo` lub `reset` aby naprawić błędy :D" ] } } @@ -1126,10 +1126,10 @@ exports.level = { "", "* Puoi riordinare i commit modificandone l'ordine (drag & drop con il mouse).", "* Puoi decidere se conservare tutti i commit o rimuoverne qualcuno. Quando la finestra si apre, ogni commit è considerato preso dal pulsante `pick` " + - "attivo affianco a esso. Per scartare un commit, disattiva il suo pulsante `pick`.", + "attivo affianco a esso. Per scartare un commit, disattiva il suo pulsante `pick`.", "", "*Vale la pena ricordare che nel vero rebase interattivo puoi fare molte più cose come lo squashing (combinazione) di commit, " + - "la modifica del messaggio di commit (amending), e perfino la modifica dello stesso commit. Noi ci concentreremo sulle due funzioni descritte sopra.*", + "la modifica del messaggio di commit (amending), e perfino la modifica dello stesso commit. Noi ci concentreremo sulle due funzioni descritte sopra.*", "", "Bene! Vediamo un esempio.", ], diff --git a/src/levels/rampup/relativeRefs.js b/src/levels/rampup/relativeRefs.js index 509fc9b3..460f0375 100644 --- a/src/levels/rampup/relativeRefs.js +++ b/src/levels/rampup/relativeRefs.js @@ -5,16 +5,16 @@ exports.level = { "name": { "en_US": "Relative Refs (^)", "fr_FR": "Références relatives (^)", - "ja" : "相対リファレンス (^)", + "ja": "相対リファレンス (^)", "zh_CN": "相对引用(^)", "zh_TW": "相對引用(^)", "es_AR": "Referencias relativas (^)", "es_ES": "Referencias relativas (^)", "pt_BR": "Referências relativas (^)", - "gl" : "Referencias relativas (^)", + "gl": "Referencias relativas (^)", "de_DE": "Relative Referenzen (^)", "ru_RU": "Относительные ссылки (^)", - "ko" : "상대 참조 (^) (Relative Refs)", + "ko": "상대 참조 (^) (Relative Refs)", "uk": "Відносні посилання", "vi": "Tham chiếu tương đối (^)", "sl_SI": "Relativne Reference (^)", @@ -24,21 +24,21 @@ exports.level = { "hint": { "en_US": "Remember the Caret (^) operator!", "fr_FR": "Rappelez-vous de l'opérateur circonflexe (^)", - "ja" : "相対リファレンス(^)を思い出して!", + "ja": "相対リファレンス(^)を思い出して!", "de_DE": "Denk an den Dach-Operator (^)!", "es_AR": "¡No te olvides del operador ^!", "es_ES": "¡No te olvides del operador ^!", "pt_BR": "Não se esqueça do operador circunflexo (^)", - "gl" : "Non se esqueza do operador circunflexo (^)", + "gl": "Non se esqueza do operador circunflexo (^)", "zh_CN": "记住操作符(^)!", "zh_TW": "不要忘記插入(^)符號!", "ru_RU": "Не забудь оператор `^`", - "ko" : "(^)연산자를 기억하세요!", + "ko": "(^)연산자를 기억하세요!", "uk": "Не забудь оператор `^`", "vi": "Đừng quên dấu mũ (^)!", "sl_SI": "Spomni se na (^) operator!", "it_IT": "Ricorda l'operatore Caret(^)... l'accento circonflesso!", - "pl": "Pamiętaj o operatorze karetu (^)!", + "pl": "Pamiętaj o operatorze wstawienia (^)!", }, "startDialog": { "en_US": { @@ -866,7 +866,7 @@ exports.level = { } ] }, - "ko": { + "ko": { "childViews": [ { "type": "ModalAlert", @@ -1174,11 +1174,11 @@ exports.level = { "markdowns": [ "## Relatywne referencje", "", - "Poruszanie się w Gitcie poprzez określanie haszy commitów może być trochę nudne. W prawdziwym świecie nie będziesz miał ładnej wizualizacji drzewa commitów obok swojego terminalu (chyba, że będziesz używać Fork'a lub TortoiseGit'a). Będziesz musiał użyć `git log` aby zobaczyć hasz.", + "Poruszanie się w Gicie poprzez określanie haszy commitów może być trochę nudne. W prawdziwym świecie nie zobaczysz ładnej wizualizacji drzewa commitów obok swojego terminala (chyba, że używasz Forka lub TortoiseGita). Musisz użyć `git log` aby zobaczyć hasze.", "", - "Co więcej, hasz jest zazwyczaj o wiele dłuższy w prawdziwym Gitcie. Na przykład, hash commitu, które był na początku poprzedniego poziomu to `fed2da64c0efc5293610bdd892f82a58e8cbc5d8`. Spróbuj to przeczytać!", + "Co więcej, hasze są zazwyczaj o wiele dłuższe w prawdziwym Gicie. Na przykład, hash commita, które był na początku poprzedniego poziomu to `fed2da64c0efc5293610bdd892f82a58e8cbc5d8`. Spróbuj to przeczytać!", "", - "Plusem jest to, że Git jest sprytny jeżeli chodzi o hasze. Wymaga jedynie podania tylu znaków haszu, aż do momentu, gdy jednoznacznie zidentyfikuje konkretny commit. Dlatego mogę wpisać jedynie `fed2` zamiast długiego łańcucha powyżej." + "Plusem jest to, że Git sprytnie radzi sobie z haszami. Wymaga jedynie podania tylu znaków hasza ile potrzebuje, aby jednoznacznie zidentyfikować konkretny commit. Dlatego mogę wpisać jedynie `fed2` zamiast długiego łańcucha powyżej." ] } }, @@ -1192,8 +1192,8 @@ exports.level = { "", "Relatywne commity są potężne, ale pokażemy tu tylko dwie proste sytuacje:", "", - "* Poruszanie się wstecz o jeden commit `^`", - "* Poruszanie się wstecz o ileś commitów `~`" + "* Poruszanie się wstecz o jeden commit za pomocą `^`", + "* Poruszanie się wstecz o ileś commitów z `~`" ] } }, @@ -1210,7 +1210,7 @@ exports.level = { "Zcheckoutujmy commit powyżej `main`." ], "afterMarkdowns": [ - "Boom! Zrobione. O wiele łatwiej niż wpisując hasz commitu." + "Gotowe! O wiele łatwiej niż wpisując hasz commita." ], "command": "git checkout main^", "beforeCommand": "git commit" @@ -1223,7 +1223,7 @@ exports.level = { "Możesz również odwołać się do `HEAD` jako referencji względnej. Użyjmy tego kilka razy, aby przesunąć się w górę drzewa commitów." ], "afterMarkdowns": [ - "Łatwizna! Możemy podróżować do tyłu w czasie używając `HEAD^`" + "Łatwizna! Możemy cofać się w czasie używając `HEAD^`" ], "command": "git checkout C3; git checkout HEAD^; git checkout HEAD^; git checkout HEAD^", "beforeCommand": "git commit; git commit" @@ -1233,9 +1233,9 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Aby ukończyć ten poziom, zcheckoutuj commit'a-rodzica z gałęzi `bugFix`. To spowoduje odczepienie `HEAD`a.", + "Aby ukończyć ten poziom, zcheckoutuj commita-rodzica z gałęzi `bugFix`. To spowoduje odczepienie `HEADa`.", "", - "Możesz wybrać commit'a po haszu jeżeli chcesz, ale spróbuj wykorzystać to czego się nauczyłeś i użyć referencji względnej!" + "Możesz wybrać commita po haszu jeżeli chcesz, ale spróbuj wykorzystać nowe umiejętności i użyć referencji względnej!" ] } } diff --git a/src/levels/rampup/relativeRefs2.js b/src/levels/rampup/relativeRefs2.js index 0c8728be..86083aa7 100644 --- a/src/levels/rampup/relativeRefs2.js +++ b/src/levels/rampup/relativeRefs2.js @@ -10,31 +10,31 @@ exports.level = { "es_AR": "Vas a necesitar usar al menos una referencia directa (hash) para completar este nivel", "es_ES": "Vas a necesitar usar al menos una referencia directa (hash) para completar este nivel", "pt_BR": "Você precisará usar pelo menos uma referência direta (hash) para completar este nível", - "gl" : "Precisarás usar polo menos unha referencia directa (hash) para completar este nivel", + "gl": "Precisarás usar polo menos unha referencia directa (hash) para completar este nivel", "de_DE": "Du musst mindestens einen Hash benutzen, um dieses Level zu schaffen", - "ja" : "このレベルをクリアするには少なくとも一つの直接リファレンス(hash)を使用する必要があります", + "ja": "このレベルをクリアするには少なくとも一つの直接リファレンス(hash)を使用する必要があります", "ru_RU": "Понадобится использовать как минимум одну прямую ссылку (хеш), чтобы пройти этот уровень", - "ko" : "이번 레벨을 완료하려면 최소 한번은 직접 참조(해시)를 사용해야 합니다.", + "ko": "이번 레벨을 완료하려면 최소 한번은 직접 참조(해시)를 사용해야 합니다.", "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", "sl_SI": "Moral boš uporabiti vsaj eno direktno referenco (hash) za dokončanje te stopnje.", "it_IT": "Dovrai usare almeno un riferimento diretto (hash) per completare questo livello", - "pl": "Aby ukończyć ten poziom, musisz użyć co najmniej jednego bezpośredniej referencji (hasza).", + "pl": "Aby ukończyć ten poziom, musisz użyć co najmniej jednej bezpośredniej referencji (hasza).", }, "name": { "en_US": "Relative Refs #2 (~)", "de_DE": "Relative Referenzen #2 (~)", - "ja" : "相対リファレンス その2 (~)", + "ja": "相対リファレンス その2 (~)", "es_AR": "Referencias relativas #2 (~)", "es_ES": "Referencias relativas #2 (~)", "pt_BR": "Referências relativas #2 (~)", - "gl" : "Referencias relativas #2 (~)", + "gl": "Referencias relativas #2 (~)", "fr_FR": "Références relatives #2 (~)", "zh_CN": "相对引用2(~)", "zh_TW": "相對引用二(~)", "ru_RU": 'Относительные ссылки №2', - "ko" : "상대 참조 #2 (~)", + "ko": "상대 참조 #2 (~)", "uk": "Відносні посилання №2", "vi": "Tham chiếu tương đối #2 (~)", "sl_SI": "Relativne Reference #2 (~)", @@ -785,7 +785,7 @@ exports.level = { } ] }, - "ko": { + "ko": { "childViews": [ { "type": "ModalAlert", @@ -836,7 +836,7 @@ exports.level = { "방금의 커맨드를 직접 확인해 봅시다." ], "afterMarkdowns": [ - "됐네요! 우리는 상대 참조를 통해 `C1`을 간결한 방법으로 참조할 수 있었고 브랜치 강제(`-f`)를 통해 브랜치를 저 위치로 빠르게 옮길 수 있었습니다." ], + "됐네요! 우리는 상대 참조를 통해 `C1`을 간결한 방법으로 참조할 수 있었고 브랜치 강제(`-f`)를 통해 브랜치를 저 위치로 빠르게 옮길 수 있었습니다."], "command": "git branch -f main HEAD~3", "beforeCommand": "git commit; git commit; git commit; git checkout -b bugFix" } @@ -1071,7 +1071,7 @@ exports.level = { "Powiedzmy, że chcesz przejść o wiele poziomów wstecz na drzewie commitów. Wielokrotne wpisywanie `^` może być męczące. Na tą okazję Git ma również operator - tyldę (~).", "", "", - "Operator tyldy (opcjonalnie) przyjmuje numer porządkowy, który określa liczbę rodziców o ile chcesz się wspiąć. Zobaczmy to w akcji." + "Do pperatora tyldy możesz (opcjonalnie) dodać numer, który określa o jaką liczbę rodziców chcesz się cofnąć. Zobaczmy jak to działa." ] } }, @@ -1082,7 +1082,7 @@ exports.level = { "Podajmy liczbę commitów, które chcemy przeskoczyć za `~`." ], "afterMarkdowns": [ - "Boom! Tak szybko - referencje względne są czadowe." + "I gotowe! Ale szybko - referencje względne są czadowe." ], "command": "git checkout HEAD~4", "beforeCommand": "git commit; git commit; git commit" @@ -1092,15 +1092,15 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "### Forsowanie branczy", + "### Forsowanie gałęzi", "", "Jesteś teraz ekspertem ds. referencji. *Wykorzystajmy* je do czegoś.", "", - "Jednym z najczęstszych sposobów, w jaki korzystam z referencji względnych, są działania na gałęziach. Możesz bezpośrednio przypisać gałąź do commita za pomocą opcji `-f`. Coś w tym stylu:", + "Jednym z najczęstszych sposobów, w jaki korzystam z referencji względnych, są działania na gałęziach. Możesz bezpośrednio przypisać gałąź do commita za pomocą opcji `-f`. Na przykład tak:", "", "`git branch -f main HEAD~3`", "", - "przenosi (na siłę) gałąź `main` trzy commity wstecz za HEADa." + "przenosi (na siłę) gałąź `main` trzy commity wstecz - za HEADa." ] } }, @@ -1108,10 +1108,10 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Sprawdźmy poprzednią komendę w akcji." + "Zobaczmy jak działa poprzednie polecenie." ], "afterMarkdowns": [ - "Proszę bardzo! Referencje względne umożliwiły w zwięzły sposób, by odnieść się do `C1`, a forsowanie gałęzi (`-f`) pozwoliło na szybkie przeniesienie gałęzi w to konkretne miejsce." + "Proszę bardzo! Referencje względne umożliwiły ci w zwięzły sposób odnieść się do `C1`, a forsowanie gałęzi (`-f`) pozwoliło na szybkie przeniesienie gałęzi w to konkretne miejsce." ], "command": "git branch -f main HEAD~3", "beforeCommand": "git commit; git commit; git commit; git checkout -b bugFix" @@ -1121,9 +1121,9 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Teraz, gdy poznałeś referencje względne i forsowanie gałęzi w połączeniu, użyj ich do rozwiązania następnego poziomu.", + "Teraz, gdy wiesz już jak połączyć referencje względne i forsowanie gałęzi, użyj ich do rozwiązania następnego poziomu.", "", - "Aby ukończyć ten poziom przenieś `HEAD`, `main` oraz `bugFix` do wyświetlonych celów." + "Aby ukończyć ten poziom przenieś `HEAD`, `main` oraz `bugFix` do wskazanych celów." ] } } diff --git a/src/levels/rampup/reversingChanges.js b/src/levels/rampup/reversingChanges.js index c2869377..5b91748b 100644 --- a/src/levels/rampup/reversingChanges.js +++ b/src/levels/rampup/reversingChanges.js @@ -6,13 +6,13 @@ exports.level = { "name": { "en_US": "Reversing Changes in Git", "de_DE": "Änderungen in Git rückgängig machen", - "ja" : "変更を元に戻す", + "ja": "変更を元に戻す", "fr_FR": "Annuler des changements avec Git", "es_AR": "Revirtiendo cambios en git", "es_ES": "Revirtiendo cambios en git", "pt_BR": "Revertendo mudanças no Git", - "gl" : "Revertindo cambios en git", - "ko" : "Git에서 작업 되돌리기", + "gl": "Revertindo cambios en git", + "ko": "Git에서 작업 되돌리기", "zh_CN": "撤销变更", "zh_TW": "在 git 中取消修改 ", "ru_RU": "Отмена изменений в Git", @@ -29,11 +29,11 @@ exports.level = { "es_AR": "Notá que revert y reset toman parámetros distintos", "es_ES": "Observa que revert y reset utilizan parámetros distintos", "pt_BR": "Lembre que revert e reset recebem parâmetros diferentes", - "gl" : "Lembra que revert e reset usan parámetros distintos", + "gl": "Lembra que revert e reset usan parámetros distintos", "zh_CN": "注意 revert 和 reset 使用的参数不同。", "zh_TW": "注意 revert 和 reset 使用不同的參數。", "ko": "revert와 reset이 받는 인자가 다름을 기억하세요", - "ja" : "revertとresetとで引数が異なることに注意。", + "ja": "revertとresetとで引数が異なることに注意。", "ru_RU": "Обрати внимание, что 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.", @@ -995,9 +995,9 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "## Odwracanie zmian w Gitcie", + "## Odwracanie zmian w Gicie", "", - "Istnieje wiele sposobów na odwrócenie zmian w Gicie. Podobnie jak w przypadku commitowania, odwracanie zmian w Gitcie ma zarówno komponent niskopoziomowy (zapisywanie stanów plików lub ich fragmentów), jak i wysokopoziomowy (sposób, w jaki zmiany są faktycznie odwracane). Nasza aplikacja skupi się na tym ostatnim.", + "Istnieje wiele sposobów na odwrócenie zmian w Gicie. Podobnie jak w przypadku commitowania, odwracanie zmian w Gicie ma zarówno komponent niskopoziomowy (zapisywanie stanów plików lub ich fragmentów), jak i wysokopoziomowy (sposób, w jaki zmiany są faktycznie odwracane). Nasza aplikacja skupi się na tym ostatnim.", "", "Istnieją dwa podstawowe sposoby na cofnięcie zmian w Gicie - jeden z nich to `git reset`, a drugi `git revert`. Przyjrzymy się każdemu z nich w następnym oknie", "" @@ -1010,12 +1010,12 @@ exports.level = { "beforeMarkdowns": [ "## Git Reset", "", - "`git reset` odwraca zmiany poprzez przesunięcie referencji gałęzi wstecz w czasie do starszego commita. Można myśleć o tym jako \"przepisywaniu historii\", \"resetowanie\" spowoduje cofnięcie gałęzi do tyłu, tak jakby commity powyżej nigdy nie zostały dodane.", + "`git reset` odwraca zmiany poprzez przesunięcie referencji gałęzi wstecz w czasie do starszego commita. Można myśleć o tym jako \"przepisywaniu historii\", \"resetowanie\" spowoduje cofnięcie gałęzi, tak jakby commit nigdy nie został dodany.", "", "Sprawdźmy jak to działa:" ], "afterMarkdowns": [ - "Świetnie! Git przeniósł referencję gałęzi `main` do `C1`; teraz nasze lokalne repozytoriu jest w stanie, jakby commit `C2` nigdy nie powstał." + "Nieźle! Git przeniósł referencję gałęzi `main` do `C1`; teraz nasze lokalne repozytorium jest w takim stanie, jakby commita `C2` nigdy nie było." ], "command": "git reset HEAD~1", "beforeCommand": "git commit" @@ -1027,12 +1027,12 @@ exports.level = { "beforeMarkdowns": [ "## Git Revert", "", - "Podczas gdy resetowanie działa świetnie dla lokalnych gałęzi na własnej maszynie, jego metoda \"przepisywania historii\" nie działa dla gałęzi zdalnych, które są używane przez innych.", + "Mimo że resetowanie działa świetnie w przypadku lokalnych gałęzi na twoim komputerze, jego metoda \"przepisywania historii\" nie działa dla gałęzi zdalnych, które są używane przez innych.", "", - "W celu odwrócenia zmian i *podzielenia się* tymi odwróconymi zmianami z innymi, musimy użyć `git revert`. Zobaczmy to w akcji." + "W celu odwrócenia zmian i *podzielenia się* nimi z innymi, musimy użyć `git revert`. Zobaczmy jak to działa." ], "afterMarkdowns": [ - "Dziwne, nowy commit spadł poniżej zobowiązania, które chcieliśmy odwrócić. To dlatego, że to nowy commit `C2'` wprowadza *zmiany* -- tak się składa, że wprowadza zmiany, które idealnie odwracają commit `C2`.", + "Dziwne, nowy commit spadł poniżej tego, który chcieliśmy odwrócić. To dlatego, że ten nowy commit `C2'` wprowadza *zmiany* -- akurat takie, które idealnie odwracają commit `C2`.", "", "Dzięki `git revert`, możesz wypchnąć swoje zmiany, by podzielić się nimi z innymi." ], diff --git a/src/levels/rebase/manyRebases.js b/src/levels/rebase/manyRebases.js index 009964b1..c98d78a6 100644 --- a/src/levels/rebase/manyRebases.js +++ b/src/levels/rebase/manyRebases.js @@ -13,18 +13,18 @@ exports.level = { "es_AR": "Rebaseando más de 9000 veces", "es_ES": "Rebaseando más de 9000 veces", "pt_BR": "Fazendo mais de 9000 rebases", - "gl" : "Facendo máis de 9000 rebases", + "gl": "Facendo máis de 9000 rebases", "fr_FR": "Rebaser plus de 1000 fois", "ko": "9천번이 넘는 리베이스", - "ja" : "9000回以上のrebase", + "ja": "9000回以上のrebase", "zh_CN": "多次 Rebase", "zh_TW": "N次Rebase", "ru_RU": "Rebase over 9000 раз", - "uk" : "Rebase over 9000 разів", - "vi" : "Rebase hơn 9000 lần", + "uk": "Rebase over 9000 разів", + "vi": "Rebase hơn 9000 lần", "sl_SI": "Več kot 9000 Rebaseov", "it_IT": "Rebasing livello 8000", - "pl" : "Rebase ponad 9000 razy" + "pl": "Rebase ponad 9000 razy" }, "hint": { "en_US": "Remember, the most efficient way might be to only update main at the end...", @@ -32,19 +32,19 @@ exports.level = { "es_AR": "Acordate, la manera más eficiente podría ser actualizar main sólo al final...", "es_ES": "Recuerda, la manera más eficiente podría ser actualizar main sólo al final...", "pt_BR": "Lembre-se, a forma mais eficiente pode ser atualizar o main por último...", - "gl" : "Lembra, a forma máis eficiente pode ser actualizar a rama main ó final...", + "gl": "Lembra, a forma máis eficiente pode ser actualizar a rama main ó final...", "fr_FR": "Rappelez-vous, la façon la plus efficace peut être de mettre à jour main seulement à la fin ...", - "ja" : "最も効率的なやり方はmainを最後に更新するだけかもしれない・・・", + "ja": "最も効率的なやり方はmainを最後に更新するだけかもしれない・・・", "ko": "아마도 main을 마지막에 업데이트하는 것이 가장 효율적인 방법일 것입니다...", "zh_CN": "记住,最后更新 main 分支可能是最高效的方法……", "zh_TW": "要記住喔! 把 main branch 留到最後更新可能是最有效率的方法。", "ru_RU": "Не забудь, что лучше всего сдвинуть мастер в самом конце...", - "uk" : "Не забувай, що краще всього буде перемістити main в самому кінці... ", - "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 `main`... ", + "uk": "Не забувай, що краще всього буде перемістити main в самому кінці... ", + "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 `main`... ", "sl_SI": "Pomni, morda je najbolj učinkovit način posodabljanje masterja samo na koncu ...", "it_IT": "Ricorda, il modo migliore potrebbe essere di aggiornare il main alla fine...", - "pl" : "Pamiętaj, że najskuteczniejszym sposobem może być aktualizacja `main` tylko na samym końcu..." + "pl": "Pamiętaj, że najskuteczniejszym sposobem może być aktualizacja `main` dopiero na samym końcu..." }, "startDialog": { "en_US": { @@ -298,7 +298,7 @@ exports.level = { } } ] - },"sl_SI": { + }, "sl_SI": { "childViews": [ { "type": "ModalAlert", @@ -322,13 +322,13 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "### Rebase Wielu Gałęzi", + "### Rebase wielu gałęzi", "", - "Człowieku, mamy tu wiele gałęzi! Przeniesiemy wszystkie prace z tych gałęzi na `main`.", + "Człowieku, ależ tu pełno gałęzi! Przenieśmy wszystkie prace z tych gałęzi na `main`.", "", - "Kierownictwo nieco bardziej utrudnia temat -- chcą, aby wszystkie commity były w odpowiedniej kolejności. Oznacza to, że nasze końcowe drzewo powinno mieć `C7'` na dole, `C6'` powyżej, i tak dalej.", + "Kierownictwo trochę utrudnia sprawę -- chcą, aby wszystkie commity były w odpowiedniej kolejności. Oznacza to, że nasze końcowe drzewo powinno mieć `C7'` na dole, `C6'` powyżej, i tak dalej.", "", - "Jeśli po drodze namieszasz, nie krępuj się użyć `reset`, aby zacząć od nowa. Przeanalizuj nasze rozwiązanie i sprawdź, czy dasz radę to zrobić używając mniej poleceń!" + "Jeśli po drodze namieszasz, nie krępuj się użyć `reset`, aby zacząć od nowa. Przeanalizuj nasze rozwiązanie i sprawdź, czy dasz radę to zrobić używając mniejszej liczby poleceń!" ] } } diff --git a/src/levels/rebase/selectiveRebase.js b/src/levels/rebase/selectiveRebase.js index 1232e80a..2bc84a76 100644 --- a/src/levels/rebase/selectiveRebase.js +++ b/src/levels/rebase/selectiveRebase.js @@ -14,16 +14,16 @@ exports.level = { "es_AR": "Enslada de branches", "es_ES": "Ensalada de ramas", "pt_BR": "Espaguete de ramos", - "gl" : "Espaguete de ramas", + "gl": "Espaguete de ramas", "ja": "ブランチスパゲッティ", "zh_CN": "纠缠不清的分支", "zh_TW": "branch 漿糊", "ru_RU": "Спутанные ветки", - "uk" : "Макарони з гілок", - "vi" : "Nhánh rối như canh hẹ", + "uk": "Макарони з гілок", + "vi": "Nhánh rối như canh hẹ", "sl_SI": "Špageti iz Branchev", "it_IT": "Rami spaghettificati", - "pl": "Gałęziowe Spaghetti", + "pl": "Spaghetti gałęzi", }, "hint": { "en_US": "Make sure to do everything in the proper order! Branch one first, then two, then three", @@ -32,14 +32,14 @@ exports.level = { "es_AR": "¡Asegurate de hacer las cosas en el orden correcto! Brancheá `one` primero, después `two`, y después `three`.", "es_ES": "¡Asegúrate de hacer las cosas en el orden correcto! Crea primero la rama `one`, después `two`, y después `three`.", "pt_BR": "Certifique-se de fazer tudo na ordem correta! Crie o ramo `one` primeiro, depois `two`, depois `three`.", - "gl" : "¡Afiánzate de facer as cousas no orde correcto! Crea ramas `one` de primeiras, e logo `two` e `three`.", + "gl": "¡Afiánzate de facer as cousas no orde correcto! Crea ramas `one` de primeiras, e logo `two` e `three`.", "ja": "全て正しい順番で処理すること!oneが最初で、次がtwo、最後にthreeを片付ける。", "ko": "이 문제를 해결하는 방법은 여러가지가 있습니다! 체리픽(cherry-pick)이 가장 쉽지만 오래걸리는 방법이고, 리베이스(rebase -i)가 빠른 방법입니다", "zh_CN": "确保你是按照正确的顺序来操作!先操作分支 `one`, 然后 `two`, 最后才是 `three`", "zh_TW": "確認你是按照正確的順序來操作!先操作 branch `one`, 然後 `two`, 最後才是 `three`", "ru_RU": "Убедись, что у нас всё по порядку! Сначала ветка `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`", + "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`", "sl_SI": "Glej da boš vse opravil v pravilnem vrstnem redu! Najprej branch ena, nato pa dva in tri.", "it_IT": "Assicurati di fare tutto nel giusto ordine! Prima il primo ramo, poi il secondo, poi il terzo", "pl": "Upewnij się, że robisz wszystko w odpowiedniej kolejności! Gałąź pierwsza, potem druga, potem trzecia.", @@ -324,7 +324,7 @@ exports.level = { } } ] - },"sl_SI": { + }, "sl_SI": { "childViews": [ { "type": "ModalAlert", @@ -350,15 +350,15 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "## Gałęziowe Spaghetti", + "## Spaghetti gałęzi", "", - "W mordę jeża! Na tym poziomie mamy całkiem spory cel do osiągnięcia..", + "W mordę jeża! Na tym poziomie mamy spory cel do osiągnięcia..", "", "Mamy tutaj gałąź `main`, która jest kilka commitów przed gałęziami `one` `two` i `three`. Z jakiegoś powodu, musimy zaktualizować te trzy inne gałęzie zmodyfikowanymi wersjami ostatnich kilku commitów na main.", "", - "Gałąź `one` wymaga zmiany kolejności i usunięcia `C5`. `two` potrzebuje wyłącznie zmiany kolejności, a `three` potrzebuje tylko jednego commitu!", + "Gałąź `one` wymaga zmiany kolejności i usunięcia `C5`. `two` potrzebuje wyłącznie zmiany kolejności, a `three` potrzebuje tylko przeniesienia jednego commitu!", "", - "Zastanów się, jak rozwiązać to zadanie -- upewnij się i sprawdź nasze rozwiązanie po wykonaniu zadania za pomocą `show solution`. " + "Samodzielnie zastanów się, jak rozwiązać to zadanie -- po wykonaniu go koniecznie sprawdź nasze rozwiązanie za pomocą `show solution`. " ] } } diff --git a/src/levels/remote/clone.js b/src/levels/remote/clone.js index f891e582..affcbbdd 100644 --- a/src/levels/remote/clone.js +++ b/src/levels/remote/clone.js @@ -5,38 +5,38 @@ exports.level = { "en_US": "Clone Intro", "fr_FR": "Introduction à clone", "de_DE": "Clone Einführung", - "ja" : "Clone入門", + "ja": "Clone入門", "es_AR": "Introducción a clone", "es_ES": "Introducción a clone", "pt_BR": "Introdução à clonagem", - "gl" : "Introducción a clone", + "gl": "Introducción a clone", "zh_CN": "Git Clone", "zh_TW": "介紹 clone", "ru_RU": "Введение в клонирование", - "ko" : "Clone 소개", - "uk" : "Знайомство з clone", - "vi" : "Giới thiệu về clone", + "ko": "Clone 소개", + "uk": "Знайомство з clone", + "vi": "Giới thiệu về clone", "sl_SI": "Uvod v Git Clone", - "pl" : "Wstęp do klonowania (clone)", + "pl": "Wstęp do klonowania (clone)", "it_IT": "Introduzione al clone" }, "hint": { "en_US": "Just git clone!", "fr_FR": "Simplement git clone !", "de_DE": "Einfach git clone ausführen!", - "ja" : "単にgit clone!", + "ja": "単にgit clone!", "zh_CN": "只要 git clone 就可以了!", "es_AR": "Simplemente hacé git clone!", "es_ES": "¡Simplemente escribe `git clone`!", "pt_BR": "Basta fazer um git clone!", - "gl" : "¡Chega con facer git clone!", + "gl": "¡Chega con facer git clone!", "zh_TW": "只要 git clone 就好了", "ru_RU": "Простой git clone!", - "ko" : "그냥 git clone 하세요!", - "uk" : "Просто git clone!", - "vi" : "Đơn giản là `git clone`!", + "ko": "그냥 git clone 하세요!", + "uk": "Просто git clone!", + "vi": "Đơn giản là `git clone`!", "sl_SI": "Preprosto samo git clone!", - "pl" : "Po prostu git clone!", + "pl": "Po prostu git clone!", "it_IT": "Semplicemente git clone!" }, "startDialog": { @@ -610,61 +610,61 @@ exports.level = { ] }, "ru_RU": { - "childViews": [ - { - "type": "ModalAlert", - "options": { - "markdowns": [ - "## Удалённые репозитории в Git", - "", - "На самом деле удалённые репозитории в Git не так сложны, как кажутся на первый взгляд. Кажется, что в современном мире облачных вычислений под термином «удалённый репозиторий» подразумевается что-то сложное и загадочное. Однако, удалённые репозитории — это всего-навсего копии вашего репозитория, хранящиеся на другом компьютере. Обычно вы можете связываться с этим другим компьютером через Интернет, что позволяет вам передавать коммиты туда и сюда.", - "", - "Как уже было сказано, удалённые репозитории обладают рядом замечательных свойств:", - "", - "- В первую очередь, удалённые репозитории - это замечательное средство резервного копирования! Насколько вам известно, локальные репозитории способны восстанавливать файлы, используя предыдущие состояния, но вся эта информация хранится локально. Потеряв все свои локальные данные, вы способны восстановить их при наличии копии своего репозитория на другом компьютере.", - "", - "- Что ещё более важно, удалённые репозитории позволяют сделать процесс разработки более социальным! Теперь, когда копия вашего проекта размещена в другом месте, ваши друзья запросто могут внести свой вклад в ваш проект или забрать последние и актуальные изменения.", - "", - "Набирает популярность использование web-сайтов для визуализации активности удалённых репозиториев (например, [GitHub](https://github.com/) или [Phabricator](http://phabricator.org/)), однако удалённые репозитории _всегда_ выступают в качестве базы для таких инструментов. Поэтому так важно понимать, как устроены удалённые репозитории!" - ] - } - }, - { - "type": "ModalAlert", - "options": { - "markdowns": [ - "## Наша команда для создания удалённого репозитория", - "", - "До настоящего момента мы были сфокусированы на изучении основ работы с _локальным_ репозиторием (ветвление, слияние, перемещение и т.д.). Однако теперь, когда мы хотим научиться работать с удалёнными репозиториями, нам нужны новые команды для настройки рабочей среды для этих упражнений. Такой командой нам послужит `git clone`", - "", - "Технически, `git clone` в реальной жизни - это команда, которая создаст _локальную_ копию удалённого репозитория (например, с GitHub). На наших занятиях в Learn Git Branching мы используем эту команду немного иначе - `git clone` создаёт удалённый репозиторий на основе вашего локального репозитория. На самом деле, это является полной противоположностью реальной команды, однако такой подход поможет нам наладить связь между склонированным и удалённым репозиторием. Давайте просто запустим эту команду.", - "" - ] - } - }, - { - "type": "GitDemonstrationView", - "options": { - "beforeMarkdowns": [ - "Давайте начнём постепенное изучение и взглянем на то, что собой представляет удалённый репозиторий (в нашем представлении).", - "" - ], - "afterMarkdowns": [ - "Вот так! Теперь у нас есть удалённый репозиторий нашего проекта. Выглядит всё довольно одинаковым за исключением некоторых визуальных различий - в последующих уровнях вы увидите, как мы разделяем работу по этим репозиториям." - ], - "command": "git clone", - "beforeCommand": "" - } - }, - { - "type": "ModalAlert", - "options": { - "markdowns": [ - "Чтобы завершить уровень, просто выполните `git clone` на своём существующем репозитории. Настоящее обучение появится в последующих уроках." - ] - } - } - ] + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Удалённые репозитории в Git", + "", + "На самом деле удалённые репозитории в Git не так сложны, как кажутся на первый взгляд. Кажется, что в современном мире облачных вычислений под термином «удалённый репозиторий» подразумевается что-то сложное и загадочное. Однако, удалённые репозитории — это всего-навсего копии вашего репозитория, хранящиеся на другом компьютере. Обычно вы можете связываться с этим другим компьютером через Интернет, что позволяет вам передавать коммиты туда и сюда.", + "", + "Как уже было сказано, удалённые репозитории обладают рядом замечательных свойств:", + "", + "- В первую очередь, удалённые репозитории - это замечательное средство резервного копирования! Насколько вам известно, локальные репозитории способны восстанавливать файлы, используя предыдущие состояния, но вся эта информация хранится локально. Потеряв все свои локальные данные, вы способны восстановить их при наличии копии своего репозитория на другом компьютере.", + "", + "- Что ещё более важно, удалённые репозитории позволяют сделать процесс разработки более социальным! Теперь, когда копия вашего проекта размещена в другом месте, ваши друзья запросто могут внести свой вклад в ваш проект или забрать последние и актуальные изменения.", + "", + "Набирает популярность использование web-сайтов для визуализации активности удалённых репозиториев (например, [GitHub](https://github.com/) или [Phabricator](http://phabricator.org/)), однако удалённые репозитории _всегда_ выступают в качестве базы для таких инструментов. Поэтому так важно понимать, как устроены удалённые репозитории!" + ] + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Наша команда для создания удалённого репозитория", + "", + "До настоящего момента мы были сфокусированы на изучении основ работы с _локальным_ репозиторием (ветвление, слияние, перемещение и т.д.). Однако теперь, когда мы хотим научиться работать с удалёнными репозиториями, нам нужны новые команды для настройки рабочей среды для этих упражнений. Такой командой нам послужит `git clone`", + "", + "Технически, `git clone` в реальной жизни - это команда, которая создаст _локальную_ копию удалённого репозитория (например, с GitHub). На наших занятиях в Learn Git Branching мы используем эту команду немного иначе - `git clone` создаёт удалённый репозиторий на основе вашего локального репозитория. На самом деле, это является полной противоположностью реальной команды, однако такой подход поможет нам наладить связь между склонированным и удалённым репозиторием. Давайте просто запустим эту команду.", + "" + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Давайте начнём постепенное изучение и взглянем на то, что собой представляет удалённый репозиторий (в нашем представлении).", + "" + ], + "afterMarkdowns": [ + "Вот так! Теперь у нас есть удалённый репозиторий нашего проекта. Выглядит всё довольно одинаковым за исключением некоторых визуальных различий - в последующих уровнях вы увидите, как мы разделяем работу по этим репозиториям." + ], + "command": "git clone", + "beforeCommand": "" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Чтобы завершить уровень, просто выполните `git clone` на своём существующем репозитории. Настоящее обучение появится в последующих уроках." + ] + } + } + ] }, "ko": { "childViews": [ @@ -900,17 +900,17 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "## Zdalny git", + "## Zdalny Git", "", - "Zdalne repozytoria nie są w rzeczywistości takie skomplikowane. W dzisiejszym świecie przetwarzania w chmurze łatwo jest pomyśleć, że za zdalnym gitem kryje się wiele magii, ale w rzeczywistości są to tylko kopie repozytorium na innym komputerze. Zwykle możesz komunikować się z innym komputerem przez Internet, co umożliwia przesyłanie commitów tam i z powrotem. ", + "Zdalne repozytoria nie są w rzeczywistości bardzo skomplikowane. W dzisiejszym, działającym w chmurze, świecie łatwo jest uznać, że za zdalnym gitem kryje jakaś wielka magia, ale w rzeczywistości są to tylko kopie twojego repozytorium na innym komputerze. Zazwyczaj możesz połączyć się z nim przez internet, co umożliwia przesyłanie commitów tam i z powrotem. ", "", - "Mówiąc to, zdalne repozytoria mają kilka świetnych właściwości:", + "Ale oczywiście zdalne repozytoria mają kilka świetnych właściwości:", "", - "- Przede wszystkim zdalne repozytoria służą jako świetna kopia zapasowa! Lokalne repozytoria git mają możliwość przywracania plików do poprzedniego stanu (jak wiesz), ale wszystkie te informacje są przechowywane lokalnie. Mając kopie repozytorium git na innych komputerach, możesz stracić wszystkie swoje dane lokalne i kontynuować pracę od miejsca, w którym przerwałeś.", + "- Przede wszystkim zdalne repozytoria służą jako świetna kopia zapasowa! Lokalne repozytoria git (jak już wiesz) mają możliwość przywracania plików do poprzedniego stanu, ale wszystkie te informacje są przechowywane lokalnie. Mając kopie repozytorium Git na innych komputerach, nawet jeśli stracisz wszystkie swoje dane lokalne i tak możesz kontynuować pracę od tego samego miejsca.", "", - "- Co ważniejsze, zdalne repozytoria sprawiają, że kodowanie jest społeczne! Teraz gdy kopia twojego projektu jest umieszczona gdzie indziej, twoi znajomi mogą bardzo łatwo wnieść wkład do twojego projektu (lub pobrać najnowsze zmiany).", + "- Co ważniejsze, zdalne repozytoria sprawiają, że kodowanie jest społeczne! Teraz gdy kopia twojego projektu jest umieszczona gdzie indziej, twoi znajomi mogą bardzo łatwo wnieść swój wkład do twojego projektu (lub pobrać najnowsze zmiany).", "", - "Bardzo popularne stało się korzystanie ze stron internetowych, które wizualizują aktywność wokół zdalnych repozytoriów (takich jak [GitHub](https://github.com/) lub [Phabricator](http://phabricator.org/)), ale zdalne repozytoria _zawsze_ służą jako podstawa tych narzędzi. Dlatego ważne jest, aby je zrozumieć!" + "Bardzo popularne stało się korzystanie ze stron internetowych, które wizualizują aktywność w zdalnych repozytoriach (takich jak [GitHub](https://github.com/) lub [Phabricator](http://phabricator.org/)), ale podstawą tych narzędzi _zawsze_ są zdalne repozytoria. Dlatego ważne jest, aby je zrozumieć!" ] } }, @@ -920,9 +920,9 @@ exports.level = { "markdowns": [ "## Polecenia do tworzenia zdalnych repozytoriów", "", - "Do tego momentu Learn Git Branching skupiało się na nauczaniu podstaw pracy z repozytoriami _lokalnymi_ (branch, merge, rebase itp.). Jednak teraz, gdy chcemy dowiedzieć się więcej o pracy ze zdalnym repozytorium, potrzebujemy polecenia, aby skonfigurować środowisko dla tych lekcji. Tym poleceniem będzie `git clone`.", + "Do tego momentu kurs Learn Git Branching skupiał się na nauczaniu podstaw pracy z repozytoriami _lokalnymi_ (branch, merge, rebase itp.). Jednak teraz, gdy chcemy dowiedzieć się więcej o pracy ze zdalnym repozytorium, potrzebujemy polecenia, aby skonfigurować środowisko tych lekcji. Tym poleceniem będzie `git clone`.", "", - "Technicznie rzecz biorąc, `git clone` w prawdziwym świecie jest poleceniem, którego będziesz używać do tworzenia _lokalnych_ kopii zdalnych repozytoriów (na przykład z github). Używamy tego polecenia nieco inaczej w Learn Git Branching -- `git clone` faktycznie tworzy zdalne repozytorium z lokalnego. Jasne, jest to technicznie odwrotne znaczenie prawdziwego polecenia, ale pomaga zbudować połączenie między klonowaniem a pracą zdalnego repozytorium, więc na razie uruchommy to.", + "Technicznie rzecz biorąc, `git clone` w prawdziwym świecie jest poleceniem, którego będziesz używać do tworzenia _lokalnych_ kopii zdalnych repozytoriów (na przykład z github). Używamy tego polecenia nieco inaczej w Learn Git Branching -- `git clone` faktycznie tworzy zdalne repozytorium z lokalnego. Jasne, jest to technicznie odwrotne znaczenie prawdziwego polecenia, ale pomaga zrozumieć zależność między klonowaniem a pracą na zdalnym repozytorium, więc na razie zobaczmy jak to wygląda w działaniu.", "" ] } @@ -935,7 +935,7 @@ exports.level = { "" ], "afterMarkdowns": [ - "Tu jest! Teraz mamy zdalne repozytorium naszego projektu. Wygląda dość podobnie, z wyjątkiem pewnych zmian wizualnych, aby rozróżnienie było widoczne -- na kolejnych poziomach zobaczysz, jak udostępniamy pracę w tych repozytoriach." + "No i jest! Teraz mamy zdalne repozytorium naszego projektu. Wygląda dość podobnie, z wyjątkiem pewnych wizualnych zmian pomagających odróżnić je od lokalnego -- na kolejnych poziomach zobaczysz, jak udostępniamy pracę w tych repozytoriach." ], "command": "git clone", "beforeCommand": "" @@ -945,7 +945,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Aby ukończyć ten poziom po prostu wpisz `git clone` na swoim repozytorium. Prawdziwa nauka przyjdzie w następnych lekcjach." + "Aby ukończyć ten poziom po prostu wpisz `git clone` na swoim repozytorium. Czas na prawdziwa nauka przyjdzie w kolejnych lekcjach." ] } } diff --git a/src/levels/remote/fakeTeamwork.js b/src/levels/remote/fakeTeamwork.js index 8fa3104b..4ef23855 100644 --- a/src/levels/remote/fakeTeamwork.js +++ b/src/levels/remote/fakeTeamwork.js @@ -6,37 +6,37 @@ exports.level = { "en_US": "Faking Teamwork", "fr_FR": "Simulation du travail d'équipe", "de_DE": "Teamarbeit simulieren", - "ja" : "擬似的なチーム作業", + "ja": "擬似的なチーム作業", "es_AR": "Simulando el trabajo en equipo", "es_ES": "Simulando el trabajo en equipo", "pt_BR": "Simulando trabalho em equipe", - "gl" : "Simulando o traballo no repositorio", + "gl": "Simulando o traballo no repositorio", "zh_CN": "模拟团队合作", "zh_TW": "模擬團隊合作", "ru_RU": "Коллективная работа", - "uk" : "Симуляція колективної роботи", - "ko" : "가짜 팀워크", - "vi" : "Giả lập làm việc nhóm", + "uk": "Симуляція колективної роботи", + "ko": "가짜 팀워크", + "vi": "Giả lập làm việc nhóm", "sl_SI": "Lažno Ekipno Delo", - "pl" : "Symulacja pracy zespołowej", + "pl": "Symulacja pracy zespołowej", }, "hint": { "en_US": "remember you can specify the number of commits to fake", "fr_FR": "rappelez-vous que vous pouvez spécifier le nombre de commits à simuler", "de_DE": "Nicht vergessen, du kannst angeben wie viele Commits simuliert werden sollen.", - "ja" : "擬似的に作成するコミット数を指定できるのをお忘れなく", + "ja": "擬似的に作成するコミット数を指定できるのをお忘れなく", "es_AR": "Acordate que podés especificar cuántos commits simular", "es_ES": "Recuerda que puedes especificar cuántos commits simular", "pt_BR": "Lembre-se que você pode especificar quantos commits quer simular", - "gl" : "Lembra que podes especifar cantos commits queres simular", + "gl": "Lembra que podes especifar cantos commits queres simular", "zh_CN": "记住你可以指定仿真提交的个数", "zh_TW": "你要記得指定要送多少個 commit 出去", "ru_RU": "помните, Вы можете указать количество фейковых коммитов", - "uk" : "пам’ятай що ти можеш вказати кількість фейкових комітів", - "ko" : "가장할 커밋의 갯수를 조절할 수 있습니다.", - "vi" : "Nhớ rằng bạn có thể chỉ định số lượng commit để giả lập.", + "uk": "пам’ятай що ти можеш вказати кількість фейкових комітів", + "ko": "가장할 커밋의 갯수를 조절할 수 있습니다.", + "vi": "Nhớ rằng bạn có thể chỉ định số lượng commit để giả lập.", "sl_SI": "Spomni se, da lahko določiš število lažnih commitov.", - "pl" : "pamiętaj, że możesz określić liczbę commitów do podrobienia", + "pl": "pamiętaj, że możesz określić liczbę symulowanych commitów", }, "startDialog": { "en_US": { @@ -417,7 +417,7 @@ exports.level = { } ] }, - "zh_CN":{ + "zh_CN": { "childViews": [ { "type": "ModalAlert", @@ -526,58 +526,58 @@ exports.level = { ] }, "ru_RU": { - "childViews": [ - { - "type": "ModalAlert", - "options": { - "markdowns": [ - "## Симуляция совместной работы", - "", - "В данном уроке мы находимся в немного затруднительном положении - для выполнения ряда упражнений нам нужно обучить вас скачивать наработки и изменения, которые были сделаны в удалённом репозитории.", - "", - "Это означает, что нам следует \"сделать вид\", как будто мы знаем о том, что наш удалённый репозиторий, с которым мы работаем, был изменён одним из ваших коллег / друзей / единомышленников. Это может быть какая-то ветка, либо же какой-то конкретный коммит.", - "", - "Для того, чтобы добиться своих целей, нам предоставляется команда со звучным именем `git fakeTeamwork`! Имя команды однозначно даёт понять, что она выполняет. Давайте ознакомимся с демо..." - ] - } - }, - { - "type": "GitDemonstrationView", - "options": { - "beforeMarkdowns": [ - "Поведение команды `fakeTeamwork` по умолчанию заключается в том, чтобы просто \"инициировать\" коммит на main-е" - ], - "afterMarkdowns": [ - "Ну вот - удалённый репозиторий был изменён при помощи добавления нового коммита, и мы ещё не скачали этот коммит, потому что не запустили команду `git fetch`." - ], - "command": "git fakeTeamwork", - "beforeCommand": "git clone" - } - }, - { - "type": "GitDemonstrationView", - "options": { - "beforeMarkdowns": [ - "В данной команде вам доступна возможность указать ветку и количество добавляемых коммитов" - ], - "afterMarkdowns": [ - "С помощью одной лишь команды мы симулируем добавление трёх коммитов в ветку `foo` на удалённом репозитории" - ], - "command": "git fakeTeamwork foo 3", - "beforeCommand": "git branch foo; git clone" - } - }, - { - "type": "ModalAlert", - "options": { - "markdowns": [ - "Последующие уровни будут довольно сложными, поэтому в этом упражнении от вас больше ничего не требуется.", - "", - "Вперёд! Склонируйте удалённый репозиторий (с помощью `git clone`), симулируйте любые изменения на этом удалённом репозитории, сделайте какие-нибудь свои коммиты и затем скачайте \"чужие\" изменения. Это выглядит как несколько уроков в одном!" - ] - } - } - ] + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Симуляция совместной работы", + "", + "В данном уроке мы находимся в немного затруднительном положении - для выполнения ряда упражнений нам нужно обучить вас скачивать наработки и изменения, которые были сделаны в удалённом репозитории.", + "", + "Это означает, что нам следует \"сделать вид\", как будто мы знаем о том, что наш удалённый репозиторий, с которым мы работаем, был изменён одним из ваших коллег / друзей / единомышленников. Это может быть какая-то ветка, либо же какой-то конкретный коммит.", + "", + "Для того, чтобы добиться своих целей, нам предоставляется команда со звучным именем `git fakeTeamwork`! Имя команды однозначно даёт понять, что она выполняет. Давайте ознакомимся с демо..." + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Поведение команды `fakeTeamwork` по умолчанию заключается в том, чтобы просто \"инициировать\" коммит на main-е" + ], + "afterMarkdowns": [ + "Ну вот - удалённый репозиторий был изменён при помощи добавления нового коммита, и мы ещё не скачали этот коммит, потому что не запустили команду `git fetch`." + ], + "command": "git fakeTeamwork", + "beforeCommand": "git clone" + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "В данной команде вам доступна возможность указать ветку и количество добавляемых коммитов" + ], + "afterMarkdowns": [ + "С помощью одной лишь команды мы симулируем добавление трёх коммитов в ветку `foo` на удалённом репозитории" + ], + "command": "git fakeTeamwork foo 3", + "beforeCommand": "git branch foo; git clone" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Последующие уровни будут довольно сложными, поэтому в этом упражнении от вас больше ничего не требуется.", + "", + "Вперёд! Склонируйте удалённый репозиторий (с помощью `git clone`), симулируйте любые изменения на этом удалённом репозитории, сделайте какие-нибудь свои коммиты и затем скачайте \"чужие\" изменения. Это выглядит как несколько уроков в одном!" + ] + } + } + ] }, "ja": { "childViews": [ @@ -859,11 +859,11 @@ exports.level = { "markdowns": [ "## Symulacja pracy zespołowej", "", - "Więc tutaj jest trudna rzecz -- na potrzeby niektórych z nadchodzących lekcji, musimy nauczyć Cię jak ściągać zmiany, które zostały wprowadzone na zdalnej gałęzi przez innych.", + "Pora na małe oszustwo -- na potrzeby niektórych z nadchodzących lekcji, musimy nauczyć cię jak ściągać (pull) zmiany, które zostały wprowadzone na zdalnej gałęzi przez innych.", "", - "Oznacza to, że musimy zasadniczo \"udawać\", że gałąź zdalna została zaktualizowana przez jednego z twoich współpracowników / przyjaciół / współtwórców, na określonej gałęzi lub określonej liczbie commitów.", + "W zasadzie oznacza to, że musimy \"udawać\", że zdalne rpozytorium zostało zaktualizowane przez jednego z twoich współpracowników / przyjaciół / współtwórców na jakiejś gałęzi lub kilku commitach.", "", - "Aby to zrobić, wprowadziliśmy trafnie nazwaną komendę `git fakeTeamwork`! Jest to dość oczywiste, zobaczmy demo. . ." + "Aby to zrobić, wprowadziliśmy polecenie `git fakeTeamwork`! Po polsku byłoby to symulujPracę :D -- zobaczmy jak to działa..." ] } }, @@ -887,7 +887,7 @@ exports.level = { "Możesz również określić liczbę commitów lub gałąź poprzez dołączenie ich do polecenia." ], "afterMarkdowns": [ - "Za pomocą jednej komendy symulujemy, że kolega z zespołu wypycha trzy commity do gałęzi `foo` na naszej gałęzi zdalnej." + "Jednym poleceniem symulujemy, że kolega z zespołu wypycha trzy commity do gałęzi `foo` na zdalnym repozytorium." ], "command": "git fakeTeamwork foo 3", "beforeCommand": "git branch foo; git clone" @@ -897,9 +897,9 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Nadchodzące poziomy będą dość trudne, więc prosimy Cię o większe niż zazwyczaj skupienie na tym poziomie.", + "Kolejne poziomy będą dość trudne, więc tym razem twoje zadanie też jest bardziej wymagające.", "", - "Nie bój się, stwórz zdalną gałąź (używając `git clone`), podrób kilka zmian na zdalnej gałęzi, zcommituj swoje zmiany, a następnie ściągnij te zmiany. To jak kilka lekcji w jednej!" + "Nie bój się, stwórz zdalne repozytorium (używając `git clone`), zasymuluj na nim kilka zmian i zatwierdz je, a następnie ściągnij (pull) je. To jak kilka lekcji w jednej!" ] } } diff --git a/src/levels/remote/fetch.js b/src/levels/remote/fetch.js index e2e27d41..78ec7982 100644 --- a/src/levels/remote/fetch.js +++ b/src/levels/remote/fetch.js @@ -6,37 +6,37 @@ exports.level = { "en_US": "Git Fetchin'", "fr_FR": "Git fetch", "de_DE": "Git Fetch", - "ja" : "Git Fetch", + "ja": "Git Fetch", "es_AR": "git fetch", "es_ES": "git fetch", "pt_BR": "Git Fetch", - "gl" : "Git Fetch", + "gl": "Git Fetch", "zh_CN": "Git Fetch", "zh_TW": "git fetch", "ru_RU": "Git fetch", - "uk" : "Git fetch", - "ko" : "Git Fetch", - "vi" : "Git Fetch", + "uk": "Git fetch", + "ko": "Git Fetch", + "vi": "Git Fetch", "sl_SI": "Git Fetch", - "pl" : "Git Fetch" + "pl": "Git fetch" }, "hint": { "en_US": "just run git fetch!", "fr_FR": "Exécuter juste git fetch", "de_DE": "Einfach git fetch ausführen!", - "ja" : "単にgit fetchを実行!", + "ja": "単にgit fetchを実行!", "es_AR": "Simplemente ¡hacé git fetch!", "es_ES": "Simplemente ¡escribe git fetch!", "pt_BR": "Simplesmente chame git fetch!", - "gl" : "¡Sinxelamente fai git fetch!", + "gl": "¡Sinxelamente fai git fetch!", "zh_CN": "只需要运行 git fetch 命令!", "zh_TW": "只要下 git fetch 指令", "ru_RU": "Просто выполните git fetch!", - "uk" : "Просто виконай git fetch!", - "ko" : "그냥 git fetch를 하세요!", - "vi" : "Gõ git fetch là được!", + "uk": "Просто виконай git fetch!", + "ko": "그냥 git fetch를 하세요!", + "vi": "Gõ git fetch là được!", "sl_SI": "Le izvedi git fetch!", - "pl" : "Po prostu uruchom git fetch!" + "pl": "Po prostu uruchom git fetch!" }, "startDialog": { "en_US": { @@ -771,75 +771,75 @@ exports.level = { }, "ru_RU": { "childViews": [ - { - "type": "ModalAlert", - "options": { - "markdowns": [ - "## Git Fetch", - "", - "Работа с удалёнными git репозиториями сводится к передаче данных _в_ и _из_ других репозиториев. До тех пор, пока мы можем отправлять коммиты туда-обратно, мы можем делиться любыми изменениями, которые отслеживает git (следовательно, делиться новыми файлами, свежими идеями, любовными письмами и т.д.).", - "", - "В этом уроке вы научитесь тому, как извлекать данные _из_ удалённого репозитория - и для этого у нас есть соответствующая команда `git fetch`.", - "", - "Вы увидите, что как только мы изменим представление нашего удалённого репозитория, наши _удалённые_ ветки обновятся соответствующим образом и отобразят это представление. Это связывает воедино предыдущий урок про удалённые репозитории." - ] - } - }, - { - "type": "GitDemonstrationView", - "options": { - "beforeMarkdowns": [ - "Прежде чем углубляться в детали команды `git fetch`, давайте взглянем на её визуализацию в действии! Здесь у нас имеется удалённый репозиторий, который содержит в себе два коммита, отсутствующих в нашем локальном репозитории." - ], - "afterMarkdowns": [ - "Вот и всё! Коммиты `C2` и `C3` были успешно скачаны в наш локальный репозиторий, и наша удалённая ветка `o/main` отобразила эти изменения соответствующим образом." - ], - "command": "git fetch", - "beforeCommand": "git clone; git fakeTeamwork 2" - } - }, - { - "type": "ModalAlert", - "options": { - "markdowns": [ - "### Что делает fetch", - "", - "`git fetch` выполняет две и только две основные операции. А именно:", - "", - "* связывается с указанным удалённым репозиторием и забирает все те данные проекта, которых у вас ещё нет, при этом...", - "* у вас должны появиться ссылки на все ветки из этого удалённого репозитория (например, `o/main`)", - "", - "Фактически, `git fetch` синхронизирует _локальное_ представление удалённых репозиториев с тем, что является _актуальным_ на текущий момент времени.", - "", - "Насколько вы помните, в предыдущем уроке мы сказали, что удалённые ветки отображают состояние удалённых репозиториев _на тот момент_ когда вы 'общались' с ними в последний раз. `git fetch` является тем механизмом, который даёт вам возможность общаться с удалёнными репозиториями! Надеюсь, что связь между удалёнными ветками и командой `git fetch` теперь прояснилась.", - "", - "`git fetch` обычно 'общается' с удалёнными репозиториями посредством Интернета (через такие протоколы, как `http://` или `git://`).", - "" - ] - } - }, - { - "type": "ModalAlert", - "options": { - "markdowns": [ - "### Чего fetch не делает", - "", - "Важно отметить, что команда `git fetch` забирает данные в ваш _локальный_ репозиторий, но не сливает их с какими-либо вашими наработками и не модифицирует то, над чем вы работаете в данный момент.", - "", - "Важно это помнить и понимать, потому что многие разработчики думают, что, запустив команду `git fetch`, они приведут всю свою локальную работу к такому же виду, как и на удалённом репозитории. Команда всего лишь скачивает все необходимые данные, но вам потребуется вручную слить эти данные с вашими, когда вы будете готовы. В следующих уроках мы научимся это делать :D", - "", - "Одним словом, вы можете относиться к `git fetch` как к процедуре скачивания." - ] - } - }, - { - "type": "ModalAlert", - "options": { - "markdowns": [ - "Чтобы выполнить уровень, просто запустите `git fetch` и скачайте все коммиты!" - ] - } + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Git Fetch", + "", + "Работа с удалёнными git репозиториями сводится к передаче данных _в_ и _из_ других репозиториев. До тех пор, пока мы можем отправлять коммиты туда-обратно, мы можем делиться любыми изменениями, которые отслеживает git (следовательно, делиться новыми файлами, свежими идеями, любовными письмами и т.д.).", + "", + "В этом уроке вы научитесь тому, как извлекать данные _из_ удалённого репозитория - и для этого у нас есть соответствующая команда `git fetch`.", + "", + "Вы увидите, что как только мы изменим представление нашего удалённого репозитория, наши _удалённые_ ветки обновятся соответствующим образом и отобразят это представление. Это связывает воедино предыдущий урок про удалённые репозитории." + ] } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Прежде чем углубляться в детали команды `git fetch`, давайте взглянем на её визуализацию в действии! Здесь у нас имеется удалённый репозиторий, который содержит в себе два коммита, отсутствующих в нашем локальном репозитории." + ], + "afterMarkdowns": [ + "Вот и всё! Коммиты `C2` и `C3` были успешно скачаны в наш локальный репозиторий, и наша удалённая ветка `o/main` отобразила эти изменения соответствующим образом." + ], + "command": "git fetch", + "beforeCommand": "git clone; git fakeTeamwork 2" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "### Что делает fetch", + "", + "`git fetch` выполняет две и только две основные операции. А именно:", + "", + "* связывается с указанным удалённым репозиторием и забирает все те данные проекта, которых у вас ещё нет, при этом...", + "* у вас должны появиться ссылки на все ветки из этого удалённого репозитория (например, `o/main`)", + "", + "Фактически, `git fetch` синхронизирует _локальное_ представление удалённых репозиториев с тем, что является _актуальным_ на текущий момент времени.", + "", + "Насколько вы помните, в предыдущем уроке мы сказали, что удалённые ветки отображают состояние удалённых репозиториев _на тот момент_ когда вы 'общались' с ними в последний раз. `git fetch` является тем механизмом, который даёт вам возможность общаться с удалёнными репозиториями! Надеюсь, что связь между удалёнными ветками и командой `git fetch` теперь прояснилась.", + "", + "`git fetch` обычно 'общается' с удалёнными репозиториями посредством Интернета (через такие протоколы, как `http://` или `git://`).", + "" + ] + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "### Чего fetch не делает", + "", + "Важно отметить, что команда `git fetch` забирает данные в ваш _локальный_ репозиторий, но не сливает их с какими-либо вашими наработками и не модифицирует то, над чем вы работаете в данный момент.", + "", + "Важно это помнить и понимать, потому что многие разработчики думают, что, запустив команду `git fetch`, они приведут всю свою локальную работу к такому же виду, как и на удалённом репозитории. Команда всего лишь скачивает все необходимые данные, но вам потребуется вручную слить эти данные с вашими, когда вы будете готовы. В следующих уроках мы научимся это делать :D", + "", + "Одним словом, вы можете относиться к `git fetch` как к процедуре скачивания." + ] + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Чтобы выполнить уровень, просто запустите `git fetch` и скачайте все коммиты!" + ] + } + } ] }, "uk": { @@ -1140,13 +1140,13 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "## Git Fetch", + "## Git fetch", "", - "Praca z zdalnymi gitami tak naprawdę sprowadza się do przesyłania danych _do_ i _z_ innych repozytoriów. Tak długo jak możemy przesyłać zatwierdzenia tam i z powrotem, możemy udostępniać wszelkiego rodzaju aktualizacje śledzone przez git (a tym samym dzielić się pracą, nowymi plikami, pomysłami, listami miłosnymi itp.).", + "Praca z zdalnymi Gitami tak naprawdę sprowadza się do przesyłania danych _do_ i _z_ innych repozytoriów. Tak długo jak możemy przesyłać zatwierdzenia tam i z powrotem, możemy udostępniać wszelkiego rodzaju aktualizacje śledzone przez Git (a tym samym dzielić się pracą, nowymi plikami, pomysłami, listami miłosnymi itp.).", "", - "W tej lekcji nauczymy się, jak pobierać dane _z_ zdalnego repozytorium -- polecenie to nosi nazwę `git fetch`.", + "W tej lekcji nauczymy się, jak pobierać dane _ze_ zdalnego repozytorium -- polecenie to nosi nazwę `git fetch`.", "", - "Zauważysz, że gdy aktualizujemy naszą reprezentację zdalnego repozytorium, nasze _zdalne_ gałęzie zostaną zaktualizowane, aby odzwierciedlić tę nową reprezentację. Wiąże się to z poprzednią lekcją dotyczącą zdalnych gałęzi." + "Zauważysz, że gdy aktualizujemy reprezentację zdalnego repozytorium, nasze _zdalne_ gałęzie zostaną zaktualizowane, aby odzwierciedlić tę nową reprezentację. Wiąże się to z poprzednią lekcją dotyczącą zdalnych gałęzi." ] } }, @@ -1154,10 +1154,10 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Zanim przejdziemy do szczegółów polecenia `git fetch`, zobaczmy, jak działa! Tutaj mamy zdalne repozytorium, które zawiera dwa commity, których nie ma w naszym lokalnym repozytorium." + "Zanim przejdziemy do szczegółów polecenia `git fetch`, zobaczmy, jak działa! Mamy tu zdalne repozytorium, zawierające dwa commity, których nie ma w naszym lokalnym repozytorium." ], "afterMarkdowns": [ - "No to jedziemy! Commity `C2` i `C3` zostały pobrane do naszego lokalnego repozytorium, a nasza zdalna gałąż `o/main` została zaktualizowana, aby to odzwierciedlić." + "No to jedziemy! Commity `C2` i `C3` zostały pobrane do naszego lokalnego repozytorium, a zdalna gałąż `o/main` została zaktualizowana, aby to odzwierciedlić." ], "command": "git fetch", "beforeCommand": "git clone; git fakeTeamwork 2" @@ -1172,13 +1172,13 @@ exports.level = { "`git fetch` wykonuje dwie rzeczy. Są to:", "", "* pobiera commity, które są w zdalnym repozytorium, ale których brakuje w naszym lokalnym repozytorium i...", - "* aktualizuje miejsce, które wskazują nasze zdalne gałęzie (na przykład `o/main`)", + "* aktualizuje miejsca, które wskazują nasze zdalne gałęzie (na przykład `o/main`)", "", - "`git fetch` zasadniczo synchronizuje _lokalną_ reprezentację zdalnego repozytorium z tym jak w _rzeczywistości_ wygląda zdalne repozytorium (w danej chwili).", + "`git fetch` zasadniczo synchronizuje _lokalną_ reprezentację zdalnego repozytorium z tym jak w _rzeczywistości_ zdalne repozytorium wygląda (w danej chwili).", "", - "Jak pamiętasz z poprzedniej lekcji, powiedzieliśmy, że zdalne gałęzie odzwierciedlają stan zdalnych repozytoriów od czasu, gdy ostatnio komunikowałeś się z tymi repozytoriami. `git fetch` to sposób, w jaki rozmiawiasz z tymi repozytoriami! Mamy nadzieję, że związek między zdalnymi gałęziami a `git fetch` jest teraz widoczny.", + "Jak pamiętasz z poprzedniej lekcji, powiedzieliśmy, że zdalne gałęzie odzwierciedlają stan zdalnych repozytoriów od czasu, ostatniej komunikacji nimi. `git fetch` to sposób, w jaki rozmiawiasz z tymi repozytoriami! Mamy nadzieję, że związek między zdalnymi gałęziami a `git fetch` jest teraz jasny.", "", - "`git fetch` zwykle komunikuje się z zdalnym repozytorium przez Internet (za pośrednictwem protokołu takiego jak `http://` lub `git://`).", + "`git fetch` zwykle komunikuje się z zdalnym repozytorium przez internet (za pośrednictwem protokołu takiego jak `http://` lub `git://`).", "" ] } @@ -1189,11 +1189,11 @@ exports.level = { "markdowns": [ "### Czego fetch nie robi", "", - "Jednak `git fetch` nie zmienia nic w _twoim_ stanie lokalnym Nie zakutalizuje twjej gałęzi `main` ani nie zmieni niczego w wyglądzie twojego systemu plików.", + "Zauważ, że `git fetch` nie zmienia nic w _twoim_ stanie lokalnym. Nie zaktualizuje twjej gałęzi `main` ani nie zmieni niczego w wyglądzie twojego systemu plików.", "", - "Jest to ważne, żeby to zrozumieć, ponieważ wielu programistów uważa, że uruchomienie `git fetch` spowoduje, że ich lokalna praca będzie odzwierciedlać stan zdalny. Może pobrać wszystkie niezbędne do tego dane, ale _nie zmienia_ żadnego z plików lokalnych. Do tego kroku przejdziemy w następnych lekcjach :D", + "Zrozumienie tego to ważna sprawa! Wielu programistów uważa, że uruchomienie `git fetch` spowoduje, że ich lokalna praca będzie odzwierciedlać stan zdalny. Mimo że `git fetch` pobiera wszystkie niezbędne do tego dane, ale _nie zmienia_ żadnego z plików lokalnych. Poleceń, które służą właśnie do tego celu nauczymy później. :D", "", - "Więc, na koniec dnia, możesz myśleć o `git fetch` jako o kroku pobierania." + "Dlatego, podsumowując to wszystko, możesz myśleć o `git fetch` jako pobieraniu." ] } }, @@ -1201,7 +1201,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Aby ukończyć poziom po prostu użyj polecenia `git fetch` i pobierz wszystkie commity!" + "Aby ukończyć ten poziom po prostu użyj polecenia `git fetch` i pobierz wszystkie commity!" ] } } diff --git a/src/levels/remote/fetchRebase.js b/src/levels/remote/fetchRebase.js index f550c0fd..178e9f15 100644 --- a/src/levels/remote/fetchRebase.js +++ b/src/levels/remote/fetchRebase.js @@ -9,14 +9,14 @@ exports.level = { "es_AR": "Historia divergente", "es_ES": "Historia divergente", "pt_BR": "Histórico divergente", - "gl" : "Histórico diverxente", + "gl": "Histórico diverxente", "de_DE": "Abweichende Historie", "fr_FR": "Historique divergent", - "ja" : "履歴の分岐", + "ja": "履歴の分岐", "ru_RU": "Расхождение в истории", - "uk" : "Розбіжності в історії", - "ko" : "엇갈린 히스토리", - "vi" : "Dị biệt lịch sử", + "uk": "Розбіжності в історії", + "ko": "엇갈린 히스토리", + "vi": "Dị biệt lịch sử", "sl_SI": "Razdeljena Zgodovina", "pl": "Rozbieżna historia" }, @@ -27,16 +27,16 @@ exports.level = { "es_AR": "Prestá atención al orden del objetivo", "es_ES": "Presta atención al orden del objetivo", "pt_BR": "Preste atenção na ordem da visualização do objetivo", - "gl" : "Presta atención ó orixe do obxectivo", + "gl": "Presta atención ó orixe do obxectivo", "de_DE": "Beachte die Reihenfolge in der Zieldarstellung", - "ja" : "ゴールのツリーの順番を参考にすること", + "ja": "ゴールのツリーの順番を参考にすること", "fr_FR": "regardez l'ordre dans la fenêtre de visualisation d'objectif", "ru_RU": "проверьте сортировку в визуализации цели", - "uk" : "перевірте порядок в візуалізації цілі", - "ko" : "순서는 goal을 참고하세요", - "vi" : "kiểm tra kỹ thứ tự trên mô hình mục tiêu", + "uk": "перевірте порядок в візуалізації цілі", + "ko": "순서는 goal을 참고하세요", + "vi": "kiểm tra kỹ thứ tự trên mô hình mục tiêu", "sl_SI": "Preveri vrstni red iz ciljne vizualizacije.", - "pl": "sprawdź, jak wygląda kolejność z wizualizacji bramki", + "pl": "Przyjżyj się kolejności na wizualizacji celu", }, "startDialog": { "en_US": { @@ -1040,7 +1040,7 @@ exports.level = { } ] }, - "zh_CN":{ + "zh_CN": { "childViews": [ { "type": "ModalAlert", @@ -2192,9 +2192,9 @@ exports.level = { "markdowns": [ "## Rozbieżna praca", "", - "Do tej pory widzieliśmy jak `pull` pobiera commity od innych i jak `push` wysyła nasze własne zmiany. Wydaje się to całkiem proste, więc jak ludzie mogą być tak zdezorientowani?", + "Widzieliśmy wcześniej jak `pull` pobiera commity od innych i jak `push` wysyła nasze własne zmiany. Wydaje się to całkiem proste, więc jak ludzie mogą być tak zdezorientowani?", "", - "Trudność pojawia się, gdy historia repozytorium *rozbiega się*. Zanim omówimy szczegóły tego rozwiązania, zobaczmy przykład..", + "Trudności pojawiają się, gdy historia repozytorium zaczyna się *rozbiegać*. Zanim omówimy szczegóły tego rozwiązania, zobaczmy przykład..", "" ] } @@ -2203,11 +2203,11 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Wyobraźmy sobie, że klonujemy repozytorium w poniedziałek i zaczynamy pracować nad dodatkową funkcjonalnością. W piątek jesteśmy gotowi aby opublikować swoje zmiany -- ale o nie! Twoi współpracownicy napisali w ciągu tygodnia mnóstwo kodu, który sprawił, że Twoja funkcjonalność stała się nieaktualna (i przestarzała). Opublikowali również te poprawki we wspólnym zdalnym repozytorium, więc teraz *twoja* praca jest oparta na *starej* wersji projektu, która nie jest już aktualna.", + "Wyobraźmy sobie, że klonujesz repozytorium w poniedziałek i zaczynasz pracować nad dodatkową funkcjonalnością. W piątek chcesz opublikować swoje zmiany -- ale, o nie! Współpracownicy napisali w ciągu tygodnia mnóstwo kodu, który sprawił, że twoja praca stała się nieaktualna (przestarzała). Opublikowali również te poprawki we wspólnym zdalnym repozytorium, więc teraz *twoja* praca jest oparta na *starej* wersji projektu, która nie jest już aktualna.", "", - "W tym przypadku, komenda `git push` jest niejednoznaczna. Jeśli uruchomisz `git push`, czy git powinien zmienić zdalne repozytorium z powrotem na takie, jakie było w poniedziałek? Czy powinien on próbować dodać twój kod, nie usuwając jednocześnie nowego kodu? Czy też powinien on całkowicie zignorować Twoje zmiany, ponieważ są one całkowicie nieaktualne?", + "W tym przypadku, komenda `git push` jest niejednoznaczna. Jeśli uruchomisz `git push`, czy Git powinien zmienić zdalne repozytorium z powrotem na takie, jakie było w poniedziałek? Czy powinien próbować dodać twój kod, nie usuwając jednocześnie nowego kodu? Czy też ma całkowicie zignorować twoje zmiany, ponieważ są one zupełnie przestarzałe?", "", - "Ponieważ w tej sytuacji jest tak wiele niejasności (gdzie historia się rozbiegła), git nie pozwala ci na `push` twoich zmian. W rzeczywistości zmusza Cię do połączenia najnowszego stanu remota, zanim będziesz mógł udostępnić swoją pracę." + "Ponieważ w tej sytuacji (gdzie historia się rozbiegła) jest tak wiele niejasności, Git nie pozwala ci na `push` twoich zmian. W rzeczywistości zmusza cię do połączenia najnowszego stanu remote'a, zanim pozwoli ci udostępnić swoją pracę." ] } }, @@ -2215,10 +2215,10 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Dosyć gadania! Zobaczmy tę sytuację w działaniu." + "Dość gadania! Zobaczmy tę sytuację w działaniu." ], "afterMarkdowns": [ - "Spójrz, nic się nie zmieniło, ponieważ polecenie nie powiodło się. Polecenie `git push` nie powiedzie się, ponieważ twój najnowszy commit `C3` jest oparty na zdalnym `C1`. Zdalny został jednak zaktualizowany do `C2`, więc git odrzuca twojego pusha." + "Spójrz, nic się nie zmieniło, ponieważ wykonanie polecenia nie powiodło się. Polecenie `git push` nie powiedzie się, ponieważ twój najnowszy commit `C3` jest oparty na zdalnym `C1`. Zdalny został jednak zaktualizowany do `C2`, więc Git odrzuca twojego pusha." ], "command": "git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" @@ -2228,7 +2228,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Jak rozwiążesz tę sytuację? To proste, wszystko co musisz zrobić, to oprzeć swoją pracę na najnowszej wersji remota.", + "Jak rozwiążesz tę sytuację? To proste, wszystko co musisz zrobić, to oprzeć swoją pracę na najnowszej wersji remote'a.", "", "Jest kilka sposobów, aby to zrobić, ale najprostszym jest przeniesienie pracy poprzez rebase. Zobaczmy, jak to wygląda." ] @@ -2238,10 +2238,10 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Teraz, jeśli zamiast tego zrobimy rebase przed wypchnięciem..." + "Zróbmy teraz inaczej: rebase przed wypchnięciem..." ], "afterMarkdowns": [ - "Boom! Zaktualizowaliśmy naszą lokalną reprezentację remota za pomocą `git fetch`, zmieniliśmy naszą pracę, aby odzwierciedlić nowe zmiany na remotcie, a następnie wypchnęliśmy je za pomocą `git push`." + "Boom! Zaktualizowaliśmy naszą lokalną reprezentację remote'a za pomocą `git fetch`, przebazowaliśmy naszą pracę, aby odzwierciedlić nowe zmiany na zdalnej gałęzi, a następnie wypchnęliśmy je za pomocą `git push`." ], "command": "git fetch; git rebase o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" @@ -2251,11 +2251,11 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Czy istnieją inne sposoby na aktualizację naszej pracy, gdy zdalne repozytorium zostało zaktualizowane? Oczywiście! Spróbujmy rozwiązać to z użyciem `merge`.", + "Czy istnieją inne sposoby na aktualizację naszej pracy, gdy zdalne repozytorium zostało zaktualizowane? Oczywiście! Spróbujmy rozwiązać to również z użyciem `merge`.", "", - "Chociaż `git merge` nie przenosi twojej pracy (a zamiast tego po prostu tworzy commit scalający), jest to sposób na powiedzenie gitowi, że włączyłeś wszystkie zmiany z remota. Dzieje się tak dlatego, że zdalna gałąź jest teraz *przodkiem* twojej własnej gałęzi, co oznacza, że twój commit odzwierciedla wszystkie commity w zdalnej gałęzi.", + "Chociaż `git merge` nie przenosi twojej pracy (a zamiast tego po prostu tworzy commit scalający), jest to sposób na powiedzenie Gitowi, że dołączasz wszystkie zmiany z remote'a. Dzieje się tak dlatego, że zdalna gałąź jest teraz *przodkiem* twojej własnej gałęzi, co oznacza, że twój commit odzwierciedla wszystkie commity w zdalnej gałęzi.", "", - "Sprawdźmy jak to wygląda..." + "Zobaczmy jak to wygląda..." ] } }, @@ -2263,10 +2263,10 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Teraz jeżeli zmergujemy zamiast rebasować..." + "A jeśeli użyjemy `merge` zamiast `rebase`..." ], "afterMarkdowns": [ - "Boom! Zaktualizowaliśmy naszą lokalną reprezentację remota za pomocą `git fetch`, git *zmergował* nową pracę do naszej pracy (aby odzwierciedlić nowe zmiany na remotcie), a następnie wypchnął je za pomocą `git push`." + "Boom! Zaktualizowaliśmy naszą lokalną reprezentację remota za pomocą `git fetch`, git dołączył (*merge*) nową pracę do naszej pracy (aby odzwierciedlić nowe zmiany na zdalnej gałęzi), a następnie wypchnął je za pomocą `git push`." ], "command": "git fetch; git merge o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" @@ -2276,11 +2276,11 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Wspaniale! Czy jest jakiś sposób, abym mógł to zrobić bez wpisywania tylu komend?", + "Wspaniale! Czy jest jakiś sposób, żeby zrobić to bez wpisywania tylu komend?", "", - "Oczywiście -- znasz już `git pull ` - jest po prostu skrótem dla fetch i merge. `git pull --rebase` jest bardzo wygodnym skrótem od fetch i rebase!", + "Oczywiście -- znasz już `git pull ` - jest po prostu skrótem dla fetch i merge. `git pull --rebase` jest bardzo wygodnym skrótem dla fetch i rebase!", "", - "Zobaczmy te skrócone komendy w pracy." + "Zobaczmy jak działają te skrócone polecenia." ] } }, @@ -2291,7 +2291,7 @@ exports.level = { "Na początku z `--rebase`..." ], "afterMarkdowns": [ - "Tak samo jak wcześniej! Tylko sporo krócej." + "Tak samo jak wcześniej! Tylko o wiele krócej." ], "command": "git pull --rebase; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" @@ -2314,13 +2314,13 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Ten flow pracy fetchowania, rebase/merge i push jest dość powszechny. W kolejnych lekcjach zajmiemy się bardziej skomplikowanymi wersjami tych flow. Na razie wypróbujmy to czego się nauczyliśmy.", + "Ta kolejność fetchowania, rebase/merge i push jest dość powszechna. W kolejnych lekcjach zajmiemy się bardziej skomplikowanymi możliwościami . Na razie wypróbujmy to czego się nauczyliśmy.", "", - "Aby rozwiązać ten poziom, wykonaj następujące kroki:", + "Aby ukońćzyć ten poziom, wykonaj następujące kroki:", "", "* Sklonuj swoje repozytorium", - "* Sfałszuj trochę pracy zespołowej (1 commit)", - "* Zcommituj trochę swojej pracy (1 commit)", + "* Zasumuluj pracę zespołową (1 commit)", + "* Zcommituj własną pracę (1 commit)", "* Opublikuj swoją pracę korzystając z *rebase*" ] } diff --git a/src/levels/remote/pull.js b/src/levels/remote/pull.js index e2cb5f1f..57d2e6a6 100644 --- a/src/levels/remote/pull.js +++ b/src/levels/remote/pull.js @@ -9,16 +9,16 @@ exports.level = { "es_AR": "git pull", "es_ES": "git pull", "pt_BR": "Git Pull", - "gl" : "Git Pull", + "gl": "Git Pull", "de_DE": "Git Pull", - "ja" : "Git Pull", + "ja": "Git Pull", "fr_FR": "Git pull", "ru_RU": "Git pull", - "uk" : "Git pull", - "ko" : "Git pull", - "vi" : "Git pull", + "uk": "Git pull", + "ko": "Git pull", + "vi": "Git pull", "sl_SI": "Git Pull", - "pl": "Git Pull", + "pl": "Git pull", }, "hint": { "en_US": "Just run git pull!", @@ -27,16 +27,16 @@ exports.level = { "es_AR": "Simplemente ¡hacé git pull!", "es_ES": "Simplemente ¡ejecuta git pull!", "pt_BR": "Basta executar git pull!", - "gl" : "Sinxelamente fai git pull!", + "gl": "Sinxelamente fai git pull!", "de_DE": "Führe einfach git pull aus.", - "ja" : "単にgit pullを実行!", + "ja": "単にgit pullを実行!", "fr_FR": "Utilisez facilement git pull !", "ru_RU": "Запустите комманду git pull !", - "uk" : "Просто виконай git pull !", - "ko" : "그냥 git pull을 하세요!", - "vi" : "Đơn giản là gõ git pull!", + "uk": "Просто виконай git pull !", + "ko": "그냥 git pull을 하세요!", + "vi": "Đơn giản là gõ git pull!", "sl_SI": "Samo izvedi git pull!", - "pl" : "Po prostu uruchom git pull!", + "pl": "Po prostu uruchom git pull!", }, "startDialog": { "en_US": { @@ -452,7 +452,7 @@ exports.level = { } ] }, - "zh_CN":{ + "zh_CN": { "childViews": [ { "type": "ModalAlert", @@ -570,65 +570,65 @@ exports.level = { } ] }, - "ru_RU": { - "childViews": [ - { - "type": "ModalAlert", - "options": { - "markdowns": [ - "## Git Pull", - "", - "Теперь, когда мы познакомились с тем, как извлекать данные из удалённого репозитория с помощью `git fetch`, давайте обновим нашу работу, чтобы отобразить все эти изменения!", - "", - "Существует множество вариантов решений - как только у вас имеется локальный коммит, вы можете соединить его с другой веткой. Это значит, вы можете выполнить одну из команд:", - "", - "* `git cherry-pick o/main`", - "* `git rebase o/main`", - "* `git merge o/main`", - "* и т.д.", - "", - "Процедура *скачивания (fetching)* изменений с удалённой ветки и *объединения (merging)* настолько частая и распространённая, что git предоставляет вместо двух команд - одну! Эта команда - `git pull`." - ] - } - }, - { - "type": "GitDemonstrationView", - "options": { - "beforeMarkdowns": [ - "Давайте рассмотрим, как `fetch` и `merge` выполняются последовательно" - ], - "afterMarkdowns": [ - "Опа - мы скачали `C3` с помощью команды `fetch` и затем объединяем эти наработки с помощью `git merge o/main`. Теперь наша ветка `main` отображает изменения с удалённого репозитория (в данном случае — с репозитория `origin`)" - ], - "command": "git fetch; git merge o/main", - "beforeCommand": "git clone; git commit; git fakeTeamwork" - } - }, - { - "type": "GitDemonstrationView", - "options": { - "beforeMarkdowns": [ - "Что же произойдёт, если вместо этих команд мы воспользуемся `git pull`?" - ], - "afterMarkdowns": [ - "Абсолютно то же самое! Нужно чётко понимать, что `git pull` существенно уменьшает вашу рутинную работу, если бы вы использовали `git fetch` и последующее слияние (merging) скаченной ветки." - ], - "command": "git pull", - "beforeCommand": "git clone; git commit; git fakeTeamwork" - } - }, - { - "type": "ModalAlert", - "options": { - "markdowns": [ - "Мы изучим детали команды `git pull` чуть позже (включая опции и аргументы вызова команды), а пока что давайте просто попробуем эту команду.", - "", - "Помните, вы также можете выполнить этот уровень с помощью команд `fetch` и `merge`, но нужно ли делать так, когда можно воспользоваться всего лишь одной командой ? :P" - ] - } - } - ] - }, + "ru_RU": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Git Pull", + "", + "Теперь, когда мы познакомились с тем, как извлекать данные из удалённого репозитория с помощью `git fetch`, давайте обновим нашу работу, чтобы отобразить все эти изменения!", + "", + "Существует множество вариантов решений - как только у вас имеется локальный коммит, вы можете соединить его с другой веткой. Это значит, вы можете выполнить одну из команд:", + "", + "* `git cherry-pick o/main`", + "* `git rebase o/main`", + "* `git merge o/main`", + "* и т.д.", + "", + "Процедура *скачивания (fetching)* изменений с удалённой ветки и *объединения (merging)* настолько частая и распространённая, что git предоставляет вместо двух команд - одну! Эта команда - `git pull`." + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Давайте рассмотрим, как `fetch` и `merge` выполняются последовательно" + ], + "afterMarkdowns": [ + "Опа - мы скачали `C3` с помощью команды `fetch` и затем объединяем эти наработки с помощью `git merge o/main`. Теперь наша ветка `main` отображает изменения с удалённого репозитория (в данном случае — с репозитория `origin`)" + ], + "command": "git fetch; git merge o/main", + "beforeCommand": "git clone; git commit; git fakeTeamwork" + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Что же произойдёт, если вместо этих команд мы воспользуемся `git pull`?" + ], + "afterMarkdowns": [ + "Абсолютно то же самое! Нужно чётко понимать, что `git pull` существенно уменьшает вашу рутинную работу, если бы вы использовали `git fetch` и последующее слияние (merging) скаченной ветки." + ], + "command": "git pull", + "beforeCommand": "git clone; git commit; git fakeTeamwork" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Мы изучим детали команды `git pull` чуть позже (включая опции и аргументы вызова команды), а пока что давайте просто попробуем эту команду.", + "", + "Помните, вы также можете выполнить этот уровень с помощью команд `fetch` и `merge`, но нужно ли делать так, когда можно воспользоваться всего лишь одной командой ? :P" + ] + } + } + ] + }, "ja": { "childViews": [ { @@ -932,16 +932,16 @@ exports.level = { "markdowns": [ "## Git Pull", "", - "Teraz, gdy widzieliśmy jak pobierać dane ze zdalnego repozytorium za pomocą `git fetch`, zaktualizujmy naszą pracę, aby odzwierciedlić te zmiany!", + "Teraz, gdy zobacyliśmy jak pobierać dane ze zdalnego repozytorium za pomocą `git fetch`, zaktualizujmy naszą pracę, aby odzwierciedlić te zmiany!", "", - "Istnieje wiele sposobów, aby to zrobić - kiedy masz już nowe commity dostępne lokalnie, możesz je włączyć tak, jakby były zwykłymi commitami na innych gałęziach. Oznacza to, że możesz wykonywać polecenia takie jak:", + "Istnieje wiele sposobów, aby to zrobić - kiedy masz już nowe commity dostępne lokalnie, możesz je dołączyć tak, jakby były zwykłymi commitami na innych gałęziach. Oznacza to, że możesz wykonywać polecenia takie jak:", "", "* `git cherry-pick o/main`", "* `git rebase o/main`", "* `git merge o/main`", "* itd., itd.", "", - "W rzeczywistości flow pracy polegające na *pobieraniu* zdalnych zmian, a następnie *połączeniu* ich jest tak powszechny, że git faktycznie zapewnia polecenie, które robi obie te rzeczy naraz! Tą komendą jest `git pull`." + "W rzeczywistości kolejność działań polegająca na *pobieraniu* zdalnych zmian (fetch), a następnie *łączeniu* ich (merge) jest tak powszechna, że sam Git zapewnia polecenie, które robi obie te rzeczy naraz! Jest to `git pull`." ] } }, @@ -952,7 +952,7 @@ exports.level = { "Zobaczmy najpierw `fetch` i `merge` wykonywane jedno po drugim." ], "afterMarkdowns": [ - "Boom -- pobraliśmy `C3` za pomocą `fetch`, a następnie połączyliśmy tę pracę za pomocą `git merge o/main`. Teraz nasza gałąź `main` odzwierciedla nową pracę z remote (w tym przypadku o nazwie `origin`)" + "Raz, dwa -- pobraliśmy `C3` za pomocą `fetch`, a następnie połączyliśmy tę pracę za pomocą `git merge o/main`. Teraz nasza gałąź `main` odzwierciedla nową pracę z remote (w tym przypadku o nazwie `origin`)" ], "command": "git fetch; git merge o/main", "beforeCommand": "git clone; git commit; git fakeTeamwork" @@ -965,7 +965,7 @@ exports.level = { "Co by się stało, gdybyśmy zamiast tego użyli `git pull`?" ], "afterMarkdowns": [ - "Dokładnie to samo! To powinno wyjaśnić, że `git pull` jest w zasadzie skrótem do `git fetch`, po którym następuje scalenie gałęzi, która została właśnie pobrana." + "Dokładnie to samo! Chyba bardzo wyraźnie widać, że `git pull` to w zasadzie dwa w jednym: `git fetch`, po którym następuje scalenie przed chwilą pobranej gałęzi." ], "command": "git pull", "beforeCommand": "git clone; git commit; git fakeTeamwork" @@ -975,9 +975,9 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Szczegóły działania `git pull` poznamy później (w tym opcje i argumenty), ale na razie wypróbujmy je na tym poziomie.", + "W szczegóły `git pull`zgłębymy się później (również w opcje i argumenty), ale na tym poziomie po prostu wypróbujmy jak działa.", "", - "Pamiętaj -- możesz rozwiązać ten poziom używając tylko `fetch` i `merge`, ale będzie Cię to kosztowało dodatkową komendę :P" + "Pamiętaj -- możesz rozwiązać ten poziom używając tylko `fetch` i `merge`, ale będzie cię to kosztowało dodatkowe poelecenie :P" ] } } diff --git a/src/levels/remote/push.js b/src/levels/remote/push.js index 3f4bac4b..d56f20f1 100644 --- a/src/levels/remote/push.js +++ b/src/levels/remote/push.js @@ -12,16 +12,16 @@ exports.level = { "es_AR": "git push", "es_ES": "git push", "pt_BR": "Git Push", - "gl" : "Git Push", + "gl": "Git Push", "de_DE": "Git Push", - "ja" : "Git Push", + "ja": "Git Push", "fr_FR": "Git push", "ru_RU": "Git push", - "uk" : "Git push", - "ko" : "Git push", - "vi" : "Git push", + "uk": "Git push", + "ko": "Git push", + "vi": "Git push", "sl_SI": "Git Push", - "pl": "Git Push" + "pl": "Git push" }, "hint": { "en_US": "Remember you have to clone before you can push!", @@ -31,12 +31,12 @@ exports.level = { "es_ES": "¡Recuerda que tienes que clonar antes de hacer push!", "pt_BR": "Lembre-se de clonar antes de fazer o push!", "de_DE": "Denk dran, dass du einen Clone brauchst bevor du Pushen kannst!", - "ja" : "Pushができるようになるには、まずリポジトリをcloneする必要があるのをお忘れなく", + "ja": "Pushができるようになるには、まずリポジトリをcloneする必要があるのをお忘れなく", "fr_FR": "Rappelez-vous que vous devez cloner avant de pouvoir faire un push !", "ru_RU": "Помните, что прежде чем push-ить вам нужно склонировать репозиторий!", - "uk" : "Пам’ятай, що перед тим як щось push-нути потрібно склонувати репозиторій!", - "ko" : "push를 하기전에 clone을 먼저해야 된다는것을 기억하세요!", - "vi" : "Nhớ rằng bạn phải clone trước khi push!", + "uk": "Пам’ятай, що перед тим як щось push-нути потрібно склонувати репозиторій!", + "ko": "push를 하기전에 clone을 먼저해야 된다는것을 기억하세요!", + "vi": "Nhớ rằng bạn phải clone trước khi push!", "sl_SI": "Najprej moraš klonirati, preden lahko pushaš!", "pl": "Najpierw sklonuj, potem pushuj!", }, @@ -336,7 +336,7 @@ exports.level = { } ] }, - "zh_CN":{ + "zh_CN": { "childViews": [ { "type": "ModalAlert", @@ -423,45 +423,45 @@ exports.level = { }, "ru_RU": { "childViews": [ - { - "type": "ModalAlert", - "options": { - "markdowns": [ - "## Git Push", - "", - "Хорошо, мы скачали изменения с удалённого репозитория и включили их в наши локальные наработки. Всё это замечательно, но как нам поделиться _своими_ наработками и изменениями с другими участниками проекта?", - "", - "Способ, которым мы воспользуемся, является противоположным тому способу, которым мы пользовались ранее для скачивания наработок (`git pull`). Этот способ - использование команды `git push`!", - "", - "Команда `git push` отвечает за загрузку _ваших_ изменений в указанный удалённый репозиторий, а также включение ваших коммитов в состав удалённого репозитория. По окончании работы команды `git push` все ваши друзья смогут скачать себе все сделанные вами наработки.", - "", - "Вы можете рассматривать команду `git push` как \"публикацию\" своей работы. Эта команда скрывает в себе множество тонкостей и нюансов, с которыми мы познакомимся в ближайшее время, а пока что давайте начнём с малого...", - "", - "*замечание - поведение команды `git push` без аргументов варьируется в зависимости от значения `push.default`, указанной в настройках git-а. Значение по умолчанию зависит от версии git, которую вы используете, однако в наших уроках мы будем использовать значение `upstream`. Лучше всегда проверять эту опцию прежде чем push-ить ваши настоящие проекты.*" - ] - } - }, - { - "type": "GitDemonstrationView", - "options": { - "beforeMarkdowns": [ - "Здесь у нас имеются изменения, которых нет в удалённом репозитории. Давайте же закачаем их туда!" - ], - "afterMarkdowns": [ - "Вот так - удалённый репозиторий получил новый коммит `C2`, ветка `main` на удалённом репозитории теперь указывает на `C2`, и наше *собственное* локальное отображение удалённого репозитория (`o/main`) изменилось соответственно. Всё синхронизировалось!" - ], - "command": "git push", - "beforeCommand": "git clone; git commit" - } - }, - { - "type": "ModalAlert", - "options": { - "markdowns": [ - "Чтобы выполнить задачу этого упражнения, просто поделитесь своими двумя новыми коммитами с удалённым репозиторием. Соберитесь, потому что все последующие уроки будут намного сложнее предыдущих!" - ] - } + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Git Push", + "", + "Хорошо, мы скачали изменения с удалённого репозитория и включили их в наши локальные наработки. Всё это замечательно, но как нам поделиться _своими_ наработками и изменениями с другими участниками проекта?", + "", + "Способ, которым мы воспользуемся, является противоположным тому способу, которым мы пользовались ранее для скачивания наработок (`git pull`). Этот способ - использование команды `git push`!", + "", + "Команда `git push` отвечает за загрузку _ваших_ изменений в указанный удалённый репозиторий, а также включение ваших коммитов в состав удалённого репозитория. По окончании работы команды `git push` все ваши друзья смогут скачать себе все сделанные вами наработки.", + "", + "Вы можете рассматривать команду `git push` как \"публикацию\" своей работы. Эта команда скрывает в себе множество тонкостей и нюансов, с которыми мы познакомимся в ближайшее время, а пока что давайте начнём с малого...", + "", + "*замечание - поведение команды `git push` без аргументов варьируется в зависимости от значения `push.default`, указанной в настройках git-а. Значение по умолчанию зависит от версии git, которую вы используете, однако в наших уроках мы будем использовать значение `upstream`. Лучше всегда проверять эту опцию прежде чем push-ить ваши настоящие проекты.*" + ] } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Здесь у нас имеются изменения, которых нет в удалённом репозитории. Давайте же закачаем их туда!" + ], + "afterMarkdowns": [ + "Вот так - удалённый репозиторий получил новый коммит `C2`, ветка `main` на удалённом репозитории теперь указывает на `C2`, и наше *собственное* локальное отображение удалённого репозитория (`o/main`) изменилось соответственно. Всё синхронизировалось!" + ], + "command": "git push", + "beforeCommand": "git clone; git commit" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Чтобы выполнить задачу этого упражнения, просто поделитесь своими двумя новыми коммитами с удалённым репозиторием. Соберитесь, потому что все последующие уроки будут намного сложнее предыдущих!" + ] + } + } ] }, "ja": { @@ -685,19 +685,19 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "## Git Push", + "## Git push", "", - "Ok, więc pobraliśmy zmiany ze zdalnego repozytorium i włączyliśmy je do naszej pracy lokalnie. To wspaniale i w ogóle... ale jak mamy się podzielić _naszą_ wspaniałą pracą z wszystkimi innymi?", + "Ok, pobraliśmy zmiany ze zdalnego repozytorium i włączyliśmy je do naszej pracy lokalnie. Wszystko fajnie ale... jak mamy się podzielić _naszą_ wspaniałą pracą z wszystkimi innymi?", "", - "Cóż, sposób przesyłania współdzielonej pracy jest przeciwieństwem pobierania współdzielonej pracy. A co jest przeciwieństwem `git pull`? `git push`!", + "Cóż, wysyłanie współdzielonej pracy jest przeciwieństwem pobierania współdzielonej pracy. A co jest przeciwieństwem `git pull`? `git push`!", "", - "Polecenie `git push` jest odpowiedzialne za przesłanie i aktualizację _naszych_ zmian na wybranego remote'a, aby zawierał nowe commity. Gdy `git push` zostanie ukończony, wszyscy twoi przyjaciele będą mogli pobrać twoją pracę z serwera zdalnego.", + "Polecenie `git push` odpowiada za przesłanie i aktualizację _naszych_ zmian na wybranego remote'a, aby zawierał nowe commity. Gdy `git push` zostanie ukończony, wszyscy twoi przyjaciele będą mogli pobrać twoją pracę z serwera zdalnego.", "", - "Możesz myśleć o `git push` jako o komendzie do \"publikowania\" swojej pracy. Ma on wiele szczegółów, które wkrótce omówimy, ale zacznijmy od małych kroczków...", + "Możesz myśleć o `git push` jak o poleceniu do \"publikowania\" swojej pracy. Ma ono wiele szczegółów, które wkrótce omówimy, ale zacznijmy od małych kroczków...", "", - "*uwaga -- zachowanie `git push` bez argumentów różni się w zależności od jednego z ustawień git o nazwie `push. default`. Domyślna wartość tego ustawienia zależy od wersji git, której używasz. W naszych lekcjach będziemy używać wartości `upstream`. Nie jest to wielka sprawa, ale warto sprawdzić swoje ustawienia przed wprowadzeniem ich do własnych projektów.*", + "*uwaga -- zachowanie `git push` bez argumentów różni się w zależności od jednego z ustawień Git o nazwie `push.default`. Domyślna wartość tego ustawienia zależy od wersji Git, której używasz. W naszych lekcjach będziemy używać wartości `upstream`. Nie jest to wielka sprawa, ale warto sprawdzić swoje ustawienia przed użyciem `push` we własnych projektach.*", "", - "*uwaga 2 -- odpowiednik gałęzi na zdalnym repozytorium będziemy nazywać remotem. Nazwa ta jest wykorzystywana w branży, dlatego będziemy się jej trzymać, aby nie wprowadzać zawiłego nazewnictwa*" + "*uwaga 2 -- odpowiednik gałęzi na zdalnym repozytorium będziemy nazywać remote'em. Nazwa ta jest wykorzystywana w Polsce, dlatego będziemy jej używać, aby nie wprowadzać zawiłego nazewnictwa*" ] } }, @@ -708,7 +708,7 @@ exports.level = { "Tutaj mamy kilka zmian, których nie ma remote. Załadujmy je!" ], "afterMarkdowns": [ - "No i proszę -- remote otrzymał commit `C2`, gałąź `main` na zdalnym repozytorium została zaktualizowana do `C2`, a nasze *własne* odzwierciedlenie zdalnego (`o/main`) również zostało zaktualizowane. Wszystko jest zsynchronizowane!" + "No i proszę -- remote otrzymał commit `C2`, gałąź `main` na zdalnym repozytorium została zaktualizowana do `C2`. Nasze *własne* odzwierciedlenie zdalnego (`o/main`) również zostało zaktualizowane. Wszystko jest zsynchronizowane!" ], "command": "git push", "beforeCommand": "git clone; git commit" @@ -718,7 +718,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Aby zakończyć ten poziom, po prostu podziel się dwoma nowymi commitami z innymi użytkownikami repozytorium. Przygotuj się jednak na coraz trudniejsze lekcje!" + "Aby zakończyć ten poziom, wystarczy, że podzielisz się dwoma nowymi commitami z innymi użytkownikami repozytorium. Ale zapnij pasy i przygotuj się na ostrą jazdę na kolejnych lekcjach!" ] } } diff --git a/src/levels/remote/remoteBranches.js b/src/levels/remote/remoteBranches.js index 2590cf51..53431685 100644 --- a/src/levels/remote/remoteBranches.js +++ b/src/levels/remote/remoteBranches.js @@ -9,16 +9,16 @@ exports.level = { "es_AR": "Ramas remotas", "es_ES": "Ramas remotas", "pt_BR": "Ramos remotos", - "gl" : "Ramas remotas", + "gl": "Ramas remotas", "de_DE": "Branches auf entfernten Servern", - "ja" : "リモートのブランチ", + "ja": "リモートのブランチ", "fr_FR": "Les branches distantes", "ru_RU": "Удалённые ветки", - "ko" : "원격 브랜치(remote branch)", - "uk" : "Віддалені гілки", - "vi" : "Nhánh từ xa", + "ko": "원격 브랜치(remote branch)", + "uk": "Віддалені гілки", + "vi": "Nhánh từ xa", "sl_SI": "Oddaljeni Branchi", - "pl" : "Zdalne gałęzie" + "pl": "Zdalne gałęzie" }, "hint": { "en_US": "Pay attention to the ordering -- commit on main first!", @@ -27,16 +27,16 @@ exports.level = { "es_AR": "Prestá atención al orden: ¡commiteá sobre main primero!", "es_ES": "Presta atención al orden: ¡haz commit sobre main primero!", "pt_BR": "Preste atenção na ordem: commite no main primeiro!", - "gl" : "Preta atención á orde: fai commit no main primeiro", + "gl": "Preta atención á orde: fai commit no main primeiro", "de_DE": "Beachte die Sortierung -- committe zuerst auf dem main!", - "ja" : "順番に注意 -- まずmainに対してcommitしましょう", + "ja": "順番に注意 -- まずmainに対してcommitしましょう", "fr_FR": "Prêtez attention à l'ordre -- les commits sur main d'abord !", "ru_RU": "Уделяйте внимание очерёдности -- сперва commit на main", - "ko" : "순서에 주의하세요: main 브랜치 에서 먼저 커밋하세요!", - "uk" : "Звертайте увагу на послідовність -- спочатку коміт в мастер!", - "vi" : "Chú ý đến thứ tự -- commit trên nhánh main trước!", + "ko": "순서에 주의하세요: main 브랜치 에서 먼저 커밋하세요!", + "uk": "Звертайте увагу на послідовність -- спочатку коміт в мастер!", + "vi": "Chú ý đến thứ tự -- commit trên nhánh main trước!", "sl_SI": "Bodi pozoren na vrsti red -- commitaj najprej na main!", - "pl" : "Zwróć uwagę na kolejność -- najpierw zatwierdzaj na main" + "pl": "Zwróć uwagę na kolejność -- najpierw zatwierdzaj na main" }, "startDialog": { "en_US": { @@ -650,65 +650,65 @@ exports.level = { ] }, "ru_RU": { - "childViews": [ - { - "type": "ModalAlert", - "options": { - "markdowns": [ - "## Удалённые ветки в Git", - "", - "Теперь, когда вы уже увидели `git clone` в действии, давайте углубимся в детали и посмотрим что же на самом деле изменилось.", - "", - "Во-первых, вы должны были заметить, что у нас в локальном репозитории появилась новая ветка с именем `o/main`. Такой тип ветки называется _удалённой_ веткой. Поскольку удалённые ветки играют важную и уникальную роль, они обладают рядом специальных свойств.", - "", - "Удалённые ветки отражают _состояние_ удалённых репозиториев (с того момента, как вы обращались к этим удалённым репозиториям в последний раз). Они позволяют вам отслеживать и видеть разницу между вашими локальными наработками и тем, что было сделано другими участниками - важный шаг, который необходимо делать, прежде чем делиться своими наработками с другими.", - "", - "Важным свойством удалённых веток является тот факт, что когда вы извлекаете их, вы отделяете (detaching) `HEAD`. Git делает это потому, что вы не можете работать непосредственно в этих ветках; сперва вам необходимо сделать наработки где-либо, а уж затем делиться ими с удалёнными репозиториями (после чего ваши удалённые ветки будут обновлены)." - ] - } - }, - { - "type": "ModalAlert", - "options": { - "markdowns": [ - "### Что такое `o/` в названии ветки?", - "", - "Вы, наверное, догадались, что первый символ `o/` в названии ветки служит для обозначения именно удалённых веток. Да. Удалённые ветки также имеют (обязательное) правило именования - они отображаются в формате:", - "", - "* `<удалённый репозиторий>/<имя ветки>`", - "", - "Следовательно, если вы взглянете на имя ветки `o/main`, то здесь `main` - это имя ветки, а `o` - это имя удалённого репозитория.", - "", - "Большинство разработчиков именуют свои главные удалённые репозитории не как `o`, а как `origin`. Также общепринятым является именование удалённого репозитория как `origin`, когда вы клонируете репозиторий командой `git clone`.", - "", - "К сожалению, полное имя `origin` не помещается на элементах дизайна наших уроков, поэтому мы используем краткое `o` :( Просто помните, когда вы пользуетесь git в реальном проекте, ваш удалённый репозиторий скорее всего будет называться `origin`!", - "", - "Давайте посмотрим на всё это в действии." - ] - } - }, - { - "type": "GitDemonstrationView", - "options": { - "beforeMarkdowns": [ - "Давайте извлечём (check out) удалённую ветку и посмотрим что произойдёт" - ], - "afterMarkdowns": [ - "Как вы можете видеть, git отделил (detached) `HEAD` и не обновил `o/main`, когда мы добавили новый коммит. Всё потому, что `o/main` обновится тогда и только тогда, когда обновится сам удалённый репозиторий." - ], - "command": "git checkout o/main; git commit", - "beforeCommand": "git clone" - } - }, - { - "type": "ModalAlert", - "options": { - "markdowns": [ - "Для завершения уровня выполните коммит единожды на `main`, а затем на `o/main` (предварительно переключившись на эту ветку). Это наглядно продемонстрирует поведение удалённых веток, а также покажет, как изменения влияют на состояние удалённых репозиториев." - ] - } - } - ] + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Удалённые ветки в Git", + "", + "Теперь, когда вы уже увидели `git clone` в действии, давайте углубимся в детали и посмотрим что же на самом деле изменилось.", + "", + "Во-первых, вы должны были заметить, что у нас в локальном репозитории появилась новая ветка с именем `o/main`. Такой тип ветки называется _удалённой_ веткой. Поскольку удалённые ветки играют важную и уникальную роль, они обладают рядом специальных свойств.", + "", + "Удалённые ветки отражают _состояние_ удалённых репозиториев (с того момента, как вы обращались к этим удалённым репозиториям в последний раз). Они позволяют вам отслеживать и видеть разницу между вашими локальными наработками и тем, что было сделано другими участниками - важный шаг, который необходимо делать, прежде чем делиться своими наработками с другими.", + "", + "Важным свойством удалённых веток является тот факт, что когда вы извлекаете их, вы отделяете (detaching) `HEAD`. Git делает это потому, что вы не можете работать непосредственно в этих ветках; сперва вам необходимо сделать наработки где-либо, а уж затем делиться ими с удалёнными репозиториями (после чего ваши удалённые ветки будут обновлены)." + ] + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "### Что такое `o/` в названии ветки?", + "", + "Вы, наверное, догадались, что первый символ `o/` в названии ветки служит для обозначения именно удалённых веток. Да. Удалённые ветки также имеют (обязательное) правило именования - они отображаются в формате:", + "", + "* `<удалённый репозиторий>/<имя ветки>`", + "", + "Следовательно, если вы взглянете на имя ветки `o/main`, то здесь `main` - это имя ветки, а `o` - это имя удалённого репозитория.", + "", + "Большинство разработчиков именуют свои главные удалённые репозитории не как `o`, а как `origin`. Также общепринятым является именование удалённого репозитория как `origin`, когда вы клонируете репозиторий командой `git clone`.", + "", + "К сожалению, полное имя `origin` не помещается на элементах дизайна наших уроков, поэтому мы используем краткое `o` :( Просто помните, когда вы пользуетесь git в реальном проекте, ваш удалённый репозиторий скорее всего будет называться `origin`!", + "", + "Давайте посмотрим на всё это в действии." + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Давайте извлечём (check out) удалённую ветку и посмотрим что произойдёт" + ], + "afterMarkdowns": [ + "Как вы можете видеть, git отделил (detached) `HEAD` и не обновил `o/main`, когда мы добавили новый коммит. Всё потому, что `o/main` обновится тогда и только тогда, когда обновится сам удалённый репозиторий." + ], + "command": "git checkout o/main; git commit", + "beforeCommand": "git clone" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Для завершения уровня выполните коммит единожды на `main`, а затем на `o/main` (предварительно переключившись на эту ветку). Это наглядно продемонстрирует поведение удалённых веток, а также покажет, как изменения влияют на состояние удалённых репозиториев." + ] + } + } + ] }, "ko": { "childViews": [ @@ -962,13 +962,13 @@ exports.level = { "markdowns": [ "## Zdalne gałęzie git", "", - "Teraz gdy widziałeś już działanie `git clone`, przyjrzyjmy się temu, co faktycznie się zmieniło.", + "Teraz gdy zobaczyliśmy już jak działa `git clone`, przyjrzyjmy się temu, co faktycznie się zmieniło.", "", - "Pierwszą rzeczą, jaką mogłeś zauważyć, jest to, że w naszym lokalnym repozytorium pojawiła się nowa gałąź o nazwie `o/main`. Ten typ gałęzi nazywany jest gałęzią _zdalną_; gałęzie zdalne mają specjalne właściwości, ponieważ służą do wyjątkowego celu.", + "Pierwszą rzeczą, która mogła ci się rzucić w oczy, jest to, że w naszym lokalnym repozytorium pojawiła się nowa gałąź o nazwie `o/main`. Ten typ gałęzi nazywany jest gałęzią _zdalną_. Gałęzie zdalne mają specjalne właściwości, ponieważ służą do wyjątkowego celu.", "", - "Zdalne gałęzie odzwierciedlają _stan_ zdalnych repozytoriów (od czasu ostatniej rozmowy z tymi zdalnymi repozytoriami). Pomagają zrozumieć różnicę między pracą lokalną a pracą publiczną -- krytyczny krok, który należy wykonać przed udostępnieniem swojej pracy innym.", + "Zdalne gałęzie odzwierciedlają _stan_ zdalnych repozytoriów (od czasu ostatniej komunikacji z nimi). Pomagają zrozumieć różnicę między pracą lokalną a dostępną publicznie -- to niezwykle ważna sprawa przez udostępnieniem swojej pracy innym.", "", - "Zdalne gałęzie mają specjalną właściwość, że kiedy je sprawdzasz, jesteś wprowadzany w odłączony tryb `HEAD`. Git robi to celowo, ponieważ nie możesz pracować bezpośrednio na tych gałęziach; musisz pracować w innym miejscu, a następnie dzielić się swoją pracą zdalnie (po czym twoje zdalne gałęzie zostaną zaktualizowane)." + "Zdalne gałęzie mają specjalną właściwość. Kiedy je checkoutujesz, Git wprowdza cię w tryb odłączonego `HEADa`. Robi to celowo, ponieważ nie możesz pracować bezpośrednio na tych gałęziach; musisz pracować w innym miejscu, a następnie udostępnić swoją pracą zdalnie (i wtedy twoje zdalne gałęzie zostaną zaktualizowane)." ] } }, @@ -984,11 +984,11 @@ exports.level = { "", "Więc jeśli spojrzysz na gałąź o nazwie `o/main`, nazwą gałęzi (branch name) jest `main` a nazwą zdalną (remote name) jest `o`.", "", - "Większość deweloperów w rzeczywistości nazywa główne zdalne gałęzie `origin`, nie `o`. Jest to tak powszechne, że git w rzeczywistości ustawia zdalną nazwę na `origin` kiedy wykonujesz `git clone` na repozytorium.", + "Większość programistów w rzeczywistości nazywa główną (main) zdalną gałąź `origin`,a nie `o`. Jest to tak powszechne, że Git w praktyce sam ustawia zdalną nazwę na `origin` kiedy wykonujesz `git clone` na repozytorium.", "", - "Niestety pełna nazwa `origin` nie zmieści się w naszym interfejsie, więc używamy `o` jako skrótu :( Pamiętaj więc, że kiedy używasz prawdziwego gita twoja zdalna nazwa najprawdopodobniej brzmi `origin`!", + "Niestety pełna nazwa `origin` nie zmieści się w naszym interfejsie, więc używamy `o` jako skrótu :( Pamiętaj więc, że kiedy używasz prawdziwego Gita twoja zdalna nazwa najprawdopodobniej brzmi `origin`!", "", - "To dużo do przyswojenia, więc zobaczmy to wszystko w akcji." + "To dużo do przyswojenia, więc przyjrzyjmy się jak to wszystko działa." ] } }, @@ -996,10 +996,10 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Sprawdźmy zdalną gałąź i zobaczmy co się stanie." + "Wyciągnijmy (check out) zdalną gałąź i zobaczmy co się stanie." ], "afterMarkdowns": [ - "Jak widzisz git przełączył nas w odłączony tryb `HEAD` i nie zaktualizował `o/main` kiedy dodaliśmy nowy commit. Jest tak ponieważ `o/main` aktualizuje się tylko, gdy aktualizujesz go ze zdalnym repozytorium." + "Jak widzisz git przełączył nas w tryb odłączonego `HEADa` i nie zaktualizował `o/main` kiedy dodaliśmy nowy commit. Dzieje się tak ponieważ `o/main` zaktualizuje się tylko, przy aktualizacji zdalnego repozytorium." ], "command": "git checkout o/main; git commit", "beforeCommand": "git clone" @@ -1009,7 +1009,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Aby ukończyć ten poziom, zacommituj raz z `main` i raz, po przełączeniu się, z `o/main`. Pomoże to zrozumieć, jak zachowują się zdalne gałęzie i jak są wykorzystywane w celu odzwierciedlenia zdalnego repozytorium." + "Aby ukończyć ten poziom, zrób jeden commit z `main` i drugi, po przełączeniu się (check out) na `o/main`. Pomoże ci to zrozumieć różnice w zachowaniu zdalnych gałęzi i zapamiętać, że aktualizują się wyłącznie aby odzwierciedlić stan zdalnego repozytorium." ] } }