translate rampup

This commit is contained in:
Crudu Cristian 2025-06-08 19:15:33 +03:00
parent 759a2684d9
commit 26cee73705
7 changed files with 423 additions and 1 deletions

View file

@ -114,7 +114,7 @@ var sequenceInfo = exports.sequenceInfo = {
'gl' : 'Alixeirando',
'zh_CN': '高级篇',
'zh_TW': '進階篇',
'ro': "Mai departe",
'ro': "În continuare",
'ru_RU': 'Едем дальше',
'uk' : 'Їдемо далі',
'ko' : '다음 단계로',

View file

@ -18,6 +18,7 @@ exports.level = {
"gl": "Introuducción a cherry-pick",
"zh_CN": "Git Cherry-pick",
"zh_TW": "介紹 cherry-pick",
"ro":"Introducere în cherry-pick",
"ru_RU": "Введение в Cherry-pick",
"ko": "Cherry-pick 소개",
"uk": "Знайомство з cherry-pick",
@ -40,6 +41,7 @@ exports.level = {
"gl": "git cherry-pick seguido das referencias a commits",
"zh_CN": "git cherry-pick 后面要跟提交的名字",
"zh_TW": "git cherry-pick 後面要接著 commit 的名稱",
"ro": "git cherry-pick urmat de numele commit-urilor",
"ru_RU": "git cherry-pick основывается на именах коммитов!",
"ko": "커밋의 이름들로 git cherry-pick 하세요!",
"uk": "git cherry-pick базується на іменах комітів!",
@ -677,6 +679,63 @@ exports.level = {
}
]
},
"ro": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Mutarea Modificărilor",
"",
"Până acum am acoperit conceptele de bază ale git -- commit-uri, ramuri și navigarea în arborele sursă. Aceste concepte sunt suficiente pentru a profita de 90% din puterea repozitoriilor git și pentru a acoperi nevoile principale ale dezvoltatorilor.",
"",
"Restul 10% pot fi foarte utile în fluxuri de lucru complexe (sau atunci când te-ai pus singur într-o situație dificilă). Următorul concept pe care îl vom aborda este \"mutarea modificărilor/comit-urilor\" -- în alte cuvinte, este o modalitate pentru dezvoltatori de a spune \"Vreau acest lucru aici și acel lucru acolo\" într-un mod precis, elocvent și flexibil.",
"",
"Aceasta poate părea complicat, însă este defapt un concept simplu."
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Git Cherry-pick",
"",
"Prima comandă din această serie este `git cherry-pick`. Se folosește în următorul mod:",
"",
"* `git cherry-pick <Commit1> <Commit2> <...>`",
"",
"Este o modalitate foarte directă de a spune că dorești să copiezi o serie de commit-uri sub locația ta curentă (`HEAD`). Personal, îmi place foarte mult `cherry-pick` deoarece nu are prea multă magie și este ușor de înțeles.",
"",
"Să vedem o demonstrație!",
""
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Iată un repozitoriu în care avem unele modificări în ramura `side` pe care dorim să le copiem în `main`. Acest lucru ar putea fi realizat printr-un rebase (pe care l-am învățat deja), dar să vedem cum se comportă cherry-pick."
],
"afterMarkdowns": [
"Asta e tot! Am vrut commit-urile `C2` și `C4`, iar git le-a plasat imediat sub noi. Simplu, nu?"
],
"command": "git cherry-pick C2 C4",
"beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout main; git commit;"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Pentru a finaliza acest nivel, pur și simplu copiază modificările din cele trei ramuri în `main`. Poți vedea ce commit-uri dorim să copiem în vizualizarea obiectivului.",
""
]
}
}
]
},
"ru_RU": {
"childViews": [
{

View file

@ -14,6 +14,7 @@ exports.level = {
"zh_TW": "分離 HEAD",
"de_DE": "Den Kopf abtrennen",
"ja": "HEADの分離",
"ro":"Detașează-ți capul",
"ru_RU": "Теряем голову, или detached HEAD",
"ko": "HEAD 분리하기",
"uk": "Втрачаємо голову чи detached HEAD",
@ -36,6 +37,7 @@ exports.level = {
"fr_FR": "Utilisez le label (identifiant) du commit pour aider !",
"zh_TW": "使用 commit 上的標籤hash來幫助你",
"zh_CN": "使用提交记录上的标签(哈希值)来指定提交记录!",
"ro": "Folosește eticheta (hash) de pe commit pentru ajutor!",
"ru_RU": "Ориентируйся по идентификаторам (hash) коммитов.",
"ko": "커밋에 있는 라벨(hash)을 활용하세요!",
"uk": "Орієнтуйся по індентифікаторам (hash) комітів.",
@ -901,6 +903,84 @@ exports.level = {
}
]
},
"ro": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Plimbându-te prin Git",
"",
"Înainte să trecem la unele dintre funcțiile mai avansate ale Git, este important să înțelegem diferitele moduri de a te deplasa prin arborele de commit-uri care reprezintă proiectul tău.",
"",
"Odată ce te simți confortabil să te miști prin acesta, puterile tale cu celelalte comenzi Git vor fi amplificate!",
"",
"",
"",
"",
""
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## HEAD",
"",
"În primul rând, trebuie să vorbim despre \"HEAD\". HEAD este un nume simbolic pentru commit-ul pe care teai mutat în prezent -- este, practic, commit-ul pe care lucrezi în acel moment.",
"",
"HEAD întotdeauna indică cel mai recent commit, reflectat în arborele de commit-uri. Majoritatea comenzilor Git care fac modificări în arborele de commit-uri vor începe prin a modifica HEAD.",
"",
"În mod normal, HEAD indică numele unei ramuri (de exemplu, bugFix). Când faci un commit, starea ramurii bugFix se modifică și această modificare este vizibilă prin HEAD."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Să vedem asta în acțiune. Aici vom vedea HEAD înainte și după un commit."
],
"afterMarkdowns": [
"Vezi! HEAD era ascuns sub ramura noastră `main` până acum."
],
"command": "git checkout C1; git checkout main; git commit; git checkout C2",
"beforeCommand": ""
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"### Detașarea HEAD-ului",
"",
"Detașarea HEAD-ului înseamnă pur și simplu să îl atașezi la un commit în loc de o ramură. Așa arată înainte:",
"",
"HEAD -> main -> C1",
""
],
"afterMarkdowns": [
"Iar acum arată așa:",
"",
"HEAD -> C1"
],
"command": "git checkout C1",
"beforeCommand": ""
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Pentru a finaliza acest nivel, trebuie să detașăm HEAD de `bugFix` și să îl atașăm la commit în schimb.",
"",
"Specifică acest commit prin hash-ul său. Hash-ul fiecărui commit este afișat în cercul care reprezintă commit-ul."
]
}
}
]
},
"ru_RU": {
"childViews": [
{

View file

@ -17,6 +17,7 @@ exports.level = {
"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 的目標",
"ro":"Poți folosi fie ramuri, fie referințe relative (HEAD~) pentru a specifica ținta rebase-ului",
"ru_RU": "Можно использовать либо ветки, либо относительные ссылки (HEAD~), чтобы указать цель для Rebase",
"ja": "リベースする対象の指定には、ブランチ名や相対リファレンス(HEAD~)が使えます",
"ko": "리베이스할 타겟으로 브랜치나 상대 참조(HEAD~)를 사용할 수 있습니다",
@ -40,6 +41,7 @@ exports.level = {
"fr_FR": "Introduction au rebase interactif",
"zh_CN": "交互式 rebase",
"zh_TW": "介紹互動式的 rebase",
"ro": "Introducere în rebase interactiv",
"ru_RU": "Введение в интерактивный Rebase",
"ko": "인터랙티브 리베이스 소개",
"uk": "Знайомство з інтерактивним rebase",
@ -770,6 +772,72 @@ exports.level = {
}
]
},
"ro": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Git Rebase Interactiv",
"",
"Git cherry-pick este grozav atunci când știi ce commit-uri vrei (_și_ știi hash-urile lor) -- e greu să depășești simplitatea pe care o oferă.",
"",
"Dar ce se întâmplă când nu știi ce commit-uri vrei? Din fericire, git te ajută și în această situație! Putem folosi rebase-ul interactiv pentru asta -- este cea mai bună modalitate de a revizui o serie de commit-uri cărora urmează să le faci rebase.",
"",
"Hai să ne uităm în detalii..."
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Rebase-ul interactiv înseamnă pur și simplu că folosești comanda `rebase` cu opțiunea `-i`.",
"",
"Dacă incluzi această opțiune, git va deschide o interfață pentru a-ți arăta ce commit-uri sunt pe cale să fie copiate sub ținta rebase-ului. De asemenea, îți arată hash-urile și mesajele commit-urilor, ceea ce este grozav pentru a înțelege ce reprezintă fiecare.",
"",
"În git-ul \"adevărat\", interfața înseamnă deschiderea unui fișier într-un editor de text (de exemplu `vim`). Pentru scopurile noastre, am construit o mică fereastră de dialog care se comportă la fel."
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Când dialogul de rebase interactiv se deschide, ai posibilitatea de a face 3 lucruri diferite:",
"",
"* Poți reordona commit-urile pur și simplu schimbând ordinea lor în interfață (în fereastra noastră, asta înseamnă să tragi și să lași cu mouse-ul).",
"* Poți alege să păstrezi toate commit-urile sau să omiți unele. Fiecare commit este setat să fie inclus prin butonul `pick` activ lângă el. Pentru a omite un commit, dezactivează butonul `pick`.",
"",
"* Merită de știut că în rebase-ul interactiv poți face multe alte lucruri, cum ar fi combinarea commit-urilor (squashing), modificarea mesajelor commit-urilor și chiar editarea lor. Pentru scopurile noastre, ne vom concentra doar pe aceste două operațiuni de mai sus.",
"",
"Perfect! Să vedem un exemplu."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Când apeși butonul, va apărea o fereastră de rebase interactiv. Reordonează unele commit-uri (sau simte-te liber să omiți unele) și vezi rezultatul!"
],
"afterMarkdowns": [
"Boom! Git a copiat commit-urile exact așa cum le-ai specificat în interfață."
],
"command": "git rebase -i HEAD~4 --aboveAll",
"beforeCommand": "git commit; git commit; git commit; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Pentru a finaliza acest nivel, fă un rebase interactiv și obține ordinea afișată în vizualizare. Amintește-ți că poți folosi întotdeauna `undo` sau `reset` pentru a corecta greșelile :D"
]
}
}
]
},
"ru_RU": {
"childViews": [
{

View file

@ -14,6 +14,7 @@ exports.level = {
"pt_BR": "Referências relativas (^)",
"gl": "Referencias relativas (^)",
"de_DE": "Relative Referenzen (^)",
"ro":"Referințe relative (^)",
"ru_RU": "Относительные ссылки (^)",
"ko": "상대 참조 (^) (Relative Refs)",
"uk": "Відносні посилання",
@ -36,6 +37,7 @@ exports.level = {
"gl": "Non se esqueza do operador circunflexo (^)",
"zh_CN": "记住操作符(^",
"zh_TW": "不要忘記插入(^)符號!",
"ro": "Nu uita operatorul `^`",
"ru_RU": "Не забудь оператор `^`",
"ko": "(^)연산자를 기억하세요!",
"uk": "Не забудь оператор `^`",
@ -872,6 +874,81 @@ exports.level = {
}
]
},
"ro": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Referințe relative",
"",
"Navigarea în Git specificând hash-urile commit-urilor poate deveni puțin obositoare. În lumea reală nu vei avea o vizualizare a arborelui de commit-uri atât de frumoasă lângă terminalul tău, așa că va trebui să folosești `git log` pentru a vedea hash-urile.",
"",
"În plus, hash-urile sunt de obicei mult mai lungi în lumea reală a Git-ului. De exemplu, hash-ul commit-ului care a introdus nivelul anterior este `fed2da64c0efc5293610bdd892f82a58e8cbc5d8`. Nu este tocmai ușor de pronunțat...",
"",
"Partea bună este că Git este destul de inteligent cu hash-urile. El necesită doar să specifici suficiente caractere din hash pentru a identifica în mod unic commit-ul. Astfel că pot tasta `fed2` în loc de șirul lung de mai sus."
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Așa cum am spus, specificarea commit-urilor prin hash nu este cea mai convenabilă metodă, motiv pentru care Git are referințe relative. Acestea sunt grozave!",
"",
"Cu referințele relative, poți începe de undeva memorabil (cum ar fi ramura `bugFix` sau `HEAD`) și să lucrezi de acolo.",
"",
"Commit-urile relative sunt puternice, dar aici vom introduce doar două moduri simple de a le utiliza:",
"",
"* Deplasarea în sus cu un singur commit folosind `^`",
"* Deplasarea în sus de mai multe ori folosind `~<num>`"
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Să începem cu operatorul `^`. De fiecare dată când îl adaugi la un nume de referință, îi spui lui Git să găsească părintele commit-ului specificat.",
"",
"Deci, spunând `main^` este echivalent cu \"primul părinte al lui `main`\".",
"",
"`main^^` este bunicul (strămoșul de a doua generație) al lui `main`",
"",
"Dă să trecem pe commit-ul deasupra lui main."
],
"afterMarkdowns": [
"Ura! Gata. Mult mai ușor decât să scrii hash-ul commit-ului."
],
"command": "git checkout main^",
"beforeCommand": "git commit"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"De asemenea, poți referi `HEAD` ca o referință relativă. Să folosim asta de câteva ori pentru a ne deplasa în sus în arborele de commit-uri."
],
"afterMarkdowns": [
"Ușor! Putem călători înapoi în timp cu `HEAD^`"
],
"command": "git checkout C3; git checkout HEAD^; git checkout HEAD^; git checkout HEAD^",
"beforeCommand": "git commit; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Pentru a finaliza acest nivel, treci la părintele commit-ului `bugFix`. Aceasta va detașa `HEAD`.",
"",
"Poți specifica hash-ul dacă vrei, dar încearcă să folosești mai întâi referințe relative!"
]
}
}
]
},
"ru_RU": {
"childViews": [
{

View file

@ -14,6 +14,7 @@ exports.level = {
"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を使用する必要があります",
"ro":"Vei avea nevoie să folosești cel puțin o referință directă (hash) pentru a termina acest nivel",
"ru_RU": "Понадобится использовать как минимум одну прямую ссылку (хеш), чтобы пройти этот уровень",
"ko": "이번 레벨을 완료하려면 최소 한번은 직접 참조(해시)를 사용해야 합니다.",
"uk": "Тобі потрібно використати як мінімум одне пряме посилання (хеш) щоб пройти цей рівень",
@ -36,6 +37,7 @@ exports.level = {
"fr_FR": "Références relatives #2 (~)",
"zh_CN": "相对引用2~",
"zh_TW": "相對引用二(~",
"ro": "Referințe relative #2 (~)",
"ru_RU": 'Относительные ссылки №2',
"ko": "상대 참조 #2 (~)",
"uk": "Відносні посилання №2",
@ -792,6 +794,77 @@ exports.level = {
}
]
},
"ro": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### Operatorul \"~\"",
"",
"Să presupunem că vrei să te muți cu multe niveluri în sus în arborele de commit-uri. Ar putea fi obositor să tastezi `^` de mai multe ori, pentru acest scenariu Git are operatorul tilde (~).",
"",
"",
"Operatorul tilde primește opțional un număr care specifică numărul de commit-uri părinte cu care vrei să te muți în sus. Să vedem cum funcționează."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Să specificăm un număr de commit-uri înapoi cu `~`."
],
"afterMarkdowns": [
"Boom! Atât de concis -- referințele relative sunt grozave."
],
"command": "git checkout HEAD~4",
"beforeCommand": "git commit; git commit; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### Forțarea ramurilor",
"",
"Acum că ești expert în referințele relative, hai să le *folosim* pentru ceva.",
"",
"Una dintre cele mai comune modalități în care se folosesc referințele relative este pentru a muta ramurile. Poți atribui direct o ramură la un commit folosind opțiunea `-f`. Ceva de genul:",
"",
"`git branch -f main HEAD~3`",
"",
"Aceasta va muta (forțat) ramura main cu trei commit-uri în spate față de HEAD.",
"",
"*Notă: Într-un mediu real de git, `git branch -f` nu este permis pentru branch-ul curent.*"
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Să vedem comanda anterioară în acțiune"
],
"afterMarkdowns": [
"Grozav! Referințele relative ne-au oferit o modalitate concisă de a ne referi la `C1`, iar mutarea forțată (`-f`) ne-a oferit o modalitate rapidă de a muta o ramură la acea locație."
],
"command": "git branch -f main HEAD~3",
"beforeCommand": "git commit; git commit; git commit; git checkout -b bugFix"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Acum că ai văzut referințele relative și mutarea forțată a ramurilor împreună, hai să le folosim pentru a rezolva următorul nivel.",
"",
"Pentru a completa acest nivel, mută `HEAD`, `main` și `bugFix` la destinațiile lor finale arătate în vizualizare."
]
}
}
]
},
"ru_RU": {
"childViews": [
{

View file

@ -16,6 +16,7 @@ exports.level = {
"ko": "Git에서 작업 되돌리기",
"zh_CN": "撤销变更",
"zh_TW": "在 git 中取消修改 ",
"ro":"Anularea modificărilor în Git",
"ru_RU": "Отмена изменений в Git",
"uk": "Відміна змін в Git",
"vi": "Hoàn tác thay đổi trong Git",
@ -37,6 +38,7 @@ exports.level = {
"zh_TW": "注意 revert 和 reset 使用不同的參數。",
"ko": "revert와 reset이 받는 인자가 다름을 기억하세요",
"ja": "revertとresetとで引数が異なることに注意。",
"ro": "Observă că revert și reset primesc argumente diferite.",
"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.",
@ -805,6 +807,69 @@ exports.level = {
}
]
},
"ro": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Anularea modificărilor în Git",
"",
"Există multe moduri de a anula modificările în Git. Și la fel ca la comitere, anularea modificărilor în Git are atât o componentă de nivel scăzut (staging-ul fișierelor sau al fragmentelor individuale) cât și o componentă de nivel înalt (modul în care modificările sunt efectiv anulate). Aplicația noastră se va concentra pe aceasta din urmă.",
"",
"Există două moduri principale de a anula modificările în Git -- unul este folosind `git reset` și celălalt este folosind `git revert`. Vom analiza fiecare dintre acestea în dialogul următor.",
""
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"## Git Reset",
"",
"`git reset` anulează modificările mutând referința unei ramuri înapoi în timp la un commit mai vechi. În acest sens, poți să te gândești la el ca la o \"rescriere a istoriei\"; `git reset` va muta o ramură înapoi ca și cum commit-ul nu ar fi fost niciodată făcut.",
"",
"Să vedem cum arată asta:"
],
"afterMarkdowns": [
"Frumos! Git a mutat pur și simplu referința ramurii main înapoi la `C1`; acum repozitoriul nostru local este într-o stare ca și cum `C2` nu ar fi existat niciodată."
],
"command": "git reset HEAD~1",
"beforeCommand": "git commit"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"## Git Revert",
"",
"Deși resetarea funcționează foarte bine pentru ramurile locale de pe propriul tău calculator, metoda de \"rescriere a istoriei\" nu funcționează pentru ramurile remote pe care le folosesc și alții.",
"",
"Pentru a anula modificările și a le *partaja* cu alții, trebuie să folosim `git revert`. Să vedem cum funcționează."
],
"afterMarkdowns": [
"Ciudat, a apărut un nou commit sub commit-ul pe care voiam să-l anulăm. Asta pentru că noul commit `C2'` introduce *modificări* -- se întâmplă doar ca aceste modificări să fie exact cele care inversează modificările din commit-ul `C2`.",
"",
"Cu `revert`, poți să partajezi modificările tale pentru a le împărtăși cu ceilalți."
],
"command": "git revert HEAD",
"beforeCommand": "git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Pentru a finaliza acest nivel, anulează ultimul commit atât pe ramura `local` cât și pe ramura `pushed`. Vei anula în total două commit-uri (câte unul pentru fiecare ramură).",
"",
"Ține minte că `pushed` este o ramură remote și `local` este o ramură locală -- acest lucru ar trebui să te ajute să alegi metoda potrivită."
]
}
}
]
},
"ru_RU": {
"childViews": [
{