diff --git a/README.md b/README.md index 0c3f6098..c876c13d 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ Embark on an exciting journey to learn and master regular expressions with **[re - 馃嚛馃嚜 German - 馃嚭馃嚘 Ukrainian - 馃嚝馃嚪 French +- 馃嚨馃嚤 Polish - 馃嚢馃嚪 Korean [(Requested)](https://github.com/aykutkardas/regexlearn.com/issues/92) - 馃嚘馃嚜 Arabic [(Requested)](https://github.com/aykutkardas/regexlearn.com/issues/163) - 馃嚙馃嚪 Brazilian Portuguese [(Requested)](https://github.com/aykutkardas/regexlearn.com/issues/39) diff --git a/src/localization/index.ts b/src/localization/index.ts index 16a32e6a..aad2660a 100644 --- a/src/localization/index.ts +++ b/src/localization/index.ts @@ -7,6 +7,7 @@ export const langNames = { ru: '馃嚪馃嚭', 'zh-cn': '馃嚚馃嚦', uk: '馃嚭馃嚘', + pl: '馃嚨馃嚤', }; export const defaultLocale = 'en'; diff --git a/src/localization/pl/cheatsheet.json b/src/localization/pl/cheatsheet.json new file mode 100644 index 00000000..2884ce58 --- /dev/null +++ b/src/localization/pl/cheatsheet.json @@ -0,0 +1,70 @@ +{ + "cheatsheet.section.title": "艢ci膮gawka wyra偶e艅 regularnych", + "cheatsheet.section.description": "Poznaj wszystkie wzorce i symbole wyra偶e艅 regularnych dzi臋ki poni偶szej 艣ci膮gawce.", + + "cheatsheet.anchors": "Kotwice", + "cheatsheet.caret.title": "Pocz膮tek napisu lub linii", + "cheatsheet.caret.description": "Dopasowuje pocz膮tek napisu lub linii.", + "cheatsheet.dollar.title": "Koniec napisu lub linii", + "cheatsheet.dollar.description": "Dopasowuje koniec napisu lub linii.", + "cheatsheet.wordBoundary.title": "Granica s艂owa", + "cheatsheet.wordBoundary.description": "Dopasowuje pozycj臋 na pocz膮tku lub ko艅cu s艂owa.", + "cheatsheet.notWordBoundary.title": "Poza granic膮 s艂owa", + "cheatsheet.notWordBoundary.description": "Dopasowuje pozycj臋, kt贸ra nie znajduje si臋 na pocz膮tku lub ko艅cu s艂owa.", + + "cheatsheet.characterClasses": "Klasy znak贸w", + "cheatsheet.characterSet.title": "Zbi贸r znak贸w", + "cheatsheet.characterSet.description": "Dopasowuje dowolny znak z podanego zbioru.", + "cheatsheet.negatedCharacterSet.title": "Negacja zbioru znak贸w", + "cheatsheet.negatedCharacterSet.description": "Dopasowuje dowolny znak, kt贸ry nie znajduje si臋 w podanym zbiorze.", + "cheatsheet.range.title": "Zakres", + "cheatsheet.range.description": "Dopasowuje wszystkie znaki znajduj膮ce si臋 pomi臋dzy podanymi dwoma znakami, w艂膮czaj膮c w to te dwa znaki.", + "cheatsheet.dot.title": "Kropka", + "cheatsheet.dot.description": "Dopasowuje dowolny znak z wyj膮tkiem znak贸w ko艅ca linii.", + "cheatsheet.word.title": "Znak s艂owa", + "cheatsheet.word.description": "Dopasowuje dowolny znak alfanumeryczny b臋d膮cy du偶膮 lub ma艂膮 liter膮 i podkre艣lnik.", + "cheatsheet.notWord.title": "Znak nies艂owa", + "cheatsheet.notWord.description": "Dopasowuje dowolny znak niealfanumeryczny i inny ni偶 podkre艣lnik.", + "cheatsheet.digit.title": "Cyfra", + "cheatsheet.digit.description": "Dopasowuje dowolny znak b臋d膮cy cyfr膮.", + "cheatsheet.notDigit.title": "Niecyfra", + "cheatsheet.notDigit.description": "MDopasowuje dowolny znak nieb臋d膮cy cyfr膮.", + "cheatsheet.space.title": "Bia艂y znak", + "cheatsheet.space.description": "Dopasowuje dowolny bia艂y znak.", + "cheatsheet.notSpace.title": "Niebia艂y znak", + "cheatsheet.notSpace.description": "Dopasowuje dowolny niebia艂y znak.", + + "cheatsheet.flags": "Flagi", + "cheatsheet.caseInsensitiveFlag.title": "Ignorowanie wielko艣膰 liter", + "cheatsheet.caseInsensitiveFlag.description": "Sprawia, 偶e wielko艣膰 liter w wyra偶eniu nie ma znaczenia.", + "cheatsheet.globalFlag.title": "Wszystkie dopasowania", + "cheatsheet.globalFlag.description": "Gwarantuje, 偶e wyra偶enie nie zatrzyma si臋 na pierwszym dopasowaniu.", + "cheatsheet.multilineFlag.title": "Tryb wieloliniowy", + "cheatsheet.multilineFlag.description": "Po w艂膮czeniu tej flagi pocz膮tek i koniec linii jest r贸wny pocz膮tkowi i ko艅cowi ca艂ego ci膮gu znak贸w. Nie dzia艂a dla ka偶dego wiersza z osobna.", + + "cheatsheet.groupAndReferences": "Grupy i referencje", + "cheatsheet.group.title": "Grupa", + "cheatsheet.group.description": "Grupuje wyra偶enie (tworzy podwyra偶enie).", + "cheatsheet.reference.title": "Referencja", + "cheatsheet.reference.description": "Wskazuje na grup臋 (podwyra偶enie).", + "cheatsheet.nonCapturingGroup.title": "Grupa bez referencji", + "cheatsheet.nonCapturingGroup.description": "Tworzy grup臋, do kt贸rej nie mo偶na si臋 odwo艂a膰.", + + "cheatsheet.lookarounds": "Przewidywanie", + "cheatsheet.positiveLookahead.title": "Przewidywanie pozytywne w prz贸d", + "cheatsheet.negativeLookahead.title": "Przewidywanie negatywne w prz贸d", + "cheatsheet.positiveLookbehind.title": "Przewidywanie pozytywne wstecz", + "cheatsheet.negativeLookbehind.title": "Przewidywanie negatywne wstecz", + + "cheatsheet.quantifiersAndAlternation": "Kwantyfikatory i alternatywa", + "cheatsheet.plus.title": "Plus", + "cheatsheet.plus.description": "Wyra偶enie dopasowuje jeden znak/klas臋 lub wi臋cej.", + "cheatsheet.asterisk.title": "Gwiazdka", + "cheatsheet.asterisk.description": "Wyra偶enie dopasowuje zero znak贸w/klas lub wi臋cej.", + "cheatsheet.quantifier.title": "Przedzia艂", + "cheatsheet.quantifier.description": "Wyra偶enie dopasowuje znak/klas臋 zadan膮 liczb臋 razy w podanym zakresie.", + "cheatsheet.optional.title": "Opcjonalno艣膰", + "cheatsheet.optional.description": "Sprawia, 偶e wyra偶enie jest opcjonalne.", + "cheatsheet.alternation.title": "Alternatywa", + "cheatsheet.alternation.description": "Dzia艂a jak sp贸jnik logiczny \"lub\". Czeka na dopasowanie jednego z podanych wyra偶e艅." +} diff --git a/src/localization/pl/general.json b/src/localization/pl/general.json new file mode 100644 index 00000000..3c1d4d02 --- /dev/null +++ b/src/localization/pl/general.json @@ -0,0 +1,39 @@ +{ + "general.prev": "Wstecz", + "general.next": "Dalej", + "general.result": "Wynik", + "general.regex": "Regex", + "general.text": "Tekst", + "general.watch": "Obejrzyj", + "general.start": "Rozpocznij", + "general.continue": "Kontynuuj", + "general.completedStep": "Krok uko艅czony!", + "general.hintQuestion": "Poka偶 odpowied藕", + "general.reportStep": "Zg艂o艣 problem", + "general.startLearning": "Rozpocznij nauk臋", + "general.comingSoon": "Ju偶 wkr贸tce", + "general.becomeSponsor": "Zosta艅 sponsorem", + "general.learn": "Nauka", + "general.playground": "Piaskownica", + "general.cheatsheet": "艢ci膮gawka", + "general.ourSponsors": "Nasi sponsorzy", + "general.share": "Udost臋pnij", + "general.shareLinkCopied": "Link do udost臋pniania skopiowany!", + "general.somethingWentWrong": "Co艣 posz艂o nie tak!", + + "notFound.intro": "Strona, kt贸rej szukasz, nie istnieje.", + "notFound.button": "Wr贸膰 do strony g艂贸wnej", + + "page.landing.title": "RegexLearn - Krok po kroku, od zera do bohatera.", + "page.learn.title": "RegexLearn - Interaktywny kurs wyra偶e艅 regularnych", + "page.cheatsheet.title": "RegexLearn - 艢ci膮gawka wyra偶e艅 regularnych", + "page.playground.title": "RegexLearn - Piaskownica", + "page.404.title": "RegexLearn - Nie znaleziono strony", + + "page.landing.description": "Naucz si臋 wyra偶e艅 regularnych interaktywnie, 膰wicz na swoim poziomie wiedzy, testuj i udost臋pniaj w艂asne wyra偶enia regularne.", + "page.learn.description": "Naucz si臋 wyra偶e艅 regularnych krok po kroku. Uko艅cz interaktywny samouczek, kt贸ry u艂atwi i przyspieszy Twoj膮 nauk臋.", + "page.cheatsheet.description": "Czasami trzeba po prostu zapami臋ta膰 pewne wyra偶enia regularne. Sprawd藕 艣ci膮gawk臋, kt贸ra u艂atwi Ci ich zrozumienie i lepsze zapami臋tywanie.", + "page.playground.description": "Mo偶esz 艂atwo tworzy膰 i testowa膰 wzorce wyra偶e艅 regularnych za pomoc膮 Piaskownicy.", + + "learn.safari.unsupportWarning": "Wyra偶enia regularne u偶yte w tym kroku nie s膮 obs艂ugiwane przez niekt贸re przegl膮darki. Je艣li masz problemy z przej艣ciem tego kroku, mo偶esz klikn膮膰 tutaj." +} diff --git a/src/localization/pl/index.js b/src/localization/pl/index.js new file mode 100644 index 00000000..a30a668d --- /dev/null +++ b/src/localization/pl/index.js @@ -0,0 +1,17 @@ +import cheatsheet from './cheatsheet.json'; +import general from './general.json'; +import landing from './landing.json'; +import learn from './learn.json'; +import lessons from './lessons.json'; +import regexForSeo from './lessons/regexForSeo.json'; + +const messages = { + ...cheatsheet, + ...general, + ...landing, + ...learn, + ...lessons, + ...regexForSeo, +}; + +export default messages; diff --git a/src/localization/pl/landing.json b/src/localization/pl/landing.json new file mode 100644 index 00000000..e9531403 --- /dev/null +++ b/src/localization/pl/landing.json @@ -0,0 +1,26 @@ +{ + "landing.title": "Naucz si臋 wyra偶e艅 regularnych krok po kroku, od zera do bohatera.", + "landing.description": "Nauka wyra偶e艅 regularnych jest 艂atwiejsza, ni偶 my艣lisz. Mo偶esz u偶ywa膰 tego narz臋dzia do 艂atwego `uczenia si臋`, `膰wicze艅`, `testowania` i `udost臋pniania` wyra偶e艅 regularnych.", + "landing.imageAltText": "Ilustracja zrelaksowanego m臋偶czyzny z po艂o偶onymi nogami na stole.", + + "section.learn.title": "Ucz si臋", + "section.learn.content": "`Wyra偶enia regularne`, skr贸towo zapisywane jako Regex lub Regexp, to ci膮g znak贸w tworzony wed艂ug zasad sk艂adni wyra偶e艅 regularnych. Wyra偶enia regularne u偶ywaj膮 polece艅 takich jak wyszukiwanie, dopasowanie i edycja, przez co mo偶esz je wykorzysta膰 do 艂atwego zarz膮dzania danymi. Regexy mog膮 by膰 u偶ywane w j臋zykach programowania, np. Python, SQL, JavaScript, R, w narz臋dziach Google Analytics, Google Data Studio oraz w ca艂ym procesie programowania. Na stronie RegexLearn nauczysz si臋 wyra偶e艅 regularnych za pomoc膮 przyk艂ad贸w i samouczk贸w.", + "section.learn.imageAltText": "Ilustracja g贸ry z flag膮 na szczycie.", + + "section.cheatsheet.button": "Sprawd藕 teraz", + "section.cheatsheet.title": "艢ci膮gawka", + "section.cheatsheet.content": "Dzi臋ki `艢ci膮gawce RegexLearn` mo偶esz szybko sprawdzi膰 na jednej stronie wszystkie niezb臋dne elementy wyra偶e艅 regularnych. Sprawd藕 wszystkie wzorce i symbole wyra偶e艅 regularnych za pomoc膮 tej 艣ci膮gawki.", + "section.cheatsheet.imageAltText": "Ilustracja m臋偶czyzny przegl膮daj膮cego strony przez lornetk臋", + + "section.playground.title": "Piaskownica", + "section.playground.content": "Je艣li chcesz stworzy膰 wyra偶enie regularne, to mo偶esz je 艂atwo skonstruowa膰 i przetestowa膰 za pomoc膮 Piaskownicy. Jako tester wyra偶e艅 regularnych mo偶esz je zweryfikowa膰 i udost臋pni膰 innym osobom swoje do dalszej wsp贸艂pracy.", + "section.playground.imageAltText": "Ilustracja kota, kt贸ry prawie str膮ca pe艂ny kubek.", + + "section.practice.title": "膯wicz", + "section.practice.content": "Je艣li zako艅czy艂e艣 cz臋艣膰 zwi膮zan膮 z nauk膮, to przyszed艂 czas na 膯WICZENIA! W tej sekcji mo偶esz sprawdzi膰 swoj膮 wiedz臋 o wyra偶eniach regularnych i dalej j膮 szlifowa膰 za pomoc膮 samouczk贸w dostosowanych do Twojego poziomu. Ju偶 wkr贸tce.", + "section.practice.imageAltText": "Ilustracja kobiety robi膮cej notatki z ksi膮偶ki.", + + "section.opensource.title": "Otwarty kod", + "section.opensource.content": "RegexLearn to darmowy projekt otwarto藕r贸d艂owy, w kt贸rym zaanga偶owanie spo艂eczno艣ci w jego dalszy rozw贸j jest bardzo mile widziane. Praca nad tym projektem pozwala doskonali膰 umiej臋tno艣ci, uczy膰 si臋 i wsp贸艂pracowa膰. Mo偶esz wesprze膰 projekt tutaj.", + "section.opensource.imageAltText": "Ilustracja kobiety, m臋偶czyzny i kota uk艂adaj膮cych kawa艂ki uk艂adanki." +} \ No newline at end of file diff --git a/src/localization/pl/learn.json b/src/localization/pl/learn.json new file mode 100644 index 00000000..4921e683 --- /dev/null +++ b/src/localization/pl/learn.json @@ -0,0 +1,164 @@ +{ + "examples.starter.title": "膯wiczenia", + "examples.starter.description": "Nadszed艂 czas na wykonanie kilku 膰wicze艅, aby utrwali膰 to, czego si臋 nauczyli艣my.", + + "examples.finish.title": "Koniec 膰wicze艅!", + "examples.finish.description": " ", + + "steps.starter.title": "Wst臋p", + "steps.starter.description": "Regex to skr贸t od `Regular Expression` (wyra偶enie regularne). Pomaga dopasowa膰, znale藕膰 lub zarz膮dza膰 tekstem. Aby przej艣膰 do kolejnej sekcji i by uzyska膰 bardziej szczeg贸艂owy opis, wpisz `OK` w polu Regex.", + + "steps.whatIsRegex.title": "Czym jest wyra偶enie regularne `Regex`?", + "steps.whatIsRegex.description": "Wyra偶enia regularne to ci膮gi znak贸w, kt贸re okre艣laj膮 wzorzec wyszukiwania. Ich skr贸towym okre艣leniem jest `Regex` lub `Regexp`. W szczeg贸lno艣ci wykorzystuje si臋 je do wyszukiwania lub zamiany s艂贸w w tekstach. Ponadto, dzi臋ki nim mo偶emy sprawdzi膰, czy tekst spe艂nia okre艣lone przez nas zasady.\\n\\n Na przyk艂ad, przyjmijmy, 偶e masz list臋 nazw plik贸w i chcesz znale藕膰 tylko pliki o rozszerzeniu `pdf`. Wpisuj膮c wyra偶enie `^\\w+\\.pdf$` osi膮gniesz zamierzony efekt. Znaczenie poszczeg贸lnych element贸w tego wyra偶enia regularnego stanie si臋 dla Ciebie bardziej jasne wraz z kolejnymi sekcjami tego samouczka.", + + "steps.basicMatchers.title": "Podstawowe dopasowania", + "steps.basicMatchers.description": "Znak lub s艂owo, kt贸re chcemy znale藕膰, wpisujemy wprost. Jest to podobne do normalnego procesu wyszukiwania. Na przyk艂ad, aby znale藕膰 w tek艣cie s艂owo `curious`, wpisz je tak samo.", + + "steps.dotCharacter.title": "Kropka `.`: dowolny znak", + "steps.dotCharacter.description": "Kropka `.` umo偶liwia wybranie dowolnego znaku, w tym znak贸w specjalnych i spacji. Aby kontynuowa膰, wpisz kropk臋 `.` w polu Regex.", + + "steps.characterSet.title": "Zbi贸r znak贸w `[abc]`", + "steps.characterSet.description": "Je艣li w danym wyrazie jeden ze znak贸w mo偶e by膰 r贸偶nymi znakami, zapisujemy to stosuj膮c nawiasy kwadratowe `[]`, a w nim wszystkie alternatywy znak贸w. Na przyk艂ad, aby napisa膰 wyra偶enie, kt贸re mo偶e znale藕膰 wszystkie s艂owa w poni偶szym tek艣cie, wpisz wewn膮trz nawias贸w kwadratowych `[]` kolejno litery `a`, `e`, `i`, `o`, `u`.", + + "steps.negatedCharacterSet.title": "Negacja zbioru znak贸w `[^abc]`", + "steps.negatedCharacterSet.description": "Aby znale藕膰 wszystkie s艂owa w poni偶szym tek艣cie, z wyj膮tkiem `ber` i `bor`, wewn膮trz nawias贸w kwadratowych `[]` po znaku `^` wpisz kolejno litery `e` i `o`.", + + "steps.range.title": "Zakres liter `[a-z]`", + "steps.range.description": "Aby znale藕膰 litery w okre艣lonym zakresie, w nawiasach kwadratowych `[]` podaje si臋 liter臋 pocz膮tkow膮 i ko艅cow膮 oddzielone my艣lnikiem `-`. Wielko艣膰 liter ma znaczenie. Wpisz wyra偶enie, kt贸re dopasuje wszystkie ma艂e litery mi臋dzy `e` i `o`, w艂膮czaj膮c w to te litery.", + + "steps.rangeNumber.title": "Zakres cyfry `[0-9]`", + "steps.rangeNumber.description": "Aby znale藕膰 cyfry w okre艣lonym zakresie, w nawiasach kwadratowych `[]` podaje si臋 pocz膮tkow膮 i ko艅cow膮 cyfr臋 oddzielone my艣lnikiem `-`. Wpisz wyra偶enie, kt贸re dopasuje wszystkie cyfry mi臋dzy `3` i `6`, w艂膮czaj膮c w to te cyfry.", + + "examples.basicMatchers.title": "膯wiczenie: podstawowe dopasowanie", + "examples.basicMatchers.description": "Napisz wyra偶enie, kt贸re dopasuje w tek艣cie s艂owo `of`.", + + "examples.dotCharacter.title": "膯wiczenie: dowolny znak", + "examples.dotCharacter.description": "Napisz wyra偶enie, tak aby dopasowa膰 w tek艣cie pojedyncze litery, cyfry, spacje i znaki specjalne. Wyra偶enie, kt贸re wpiszesz, musi pasowa膰 do dowolnego znaku.", + + "examples.characterSet.title": "膯wiczenie: zbi贸r znak贸w", + "examples.characterSet.description": "Napisz wyra偶enie, kt贸re dopasuje ka偶de s艂owo w tek艣cie. Jedne co si臋 zmienia w poni偶szych s艂owach to pocz膮tkowe litery.", + + "examples.negatedCharacterSet.title": "膯wiczenie: negacja zbioru znak贸w", + "examples.negatedCharacterSet.description": "Napisz wyra偶enie, kt贸re w poni偶szym tek艣cie b臋dzie pasowa膰 do wszystkiego, opr贸cz s艂贸w `beor` i `beur`. U偶yj negacji zbioru znak贸w.", + + "examples.range.title": "膯wiczenie: zakres liter", + "examples.range.description": "Napisz wyra偶enie, kt贸re w poni偶szym tek艣cie b臋dzie dopasowywa膰 litery od `g` do `k`.\\n\\nLitery `g` i `k` powinny r贸wnie偶 by膰 uwzgl臋dnione w tym dopasowaniu.", + + "examples.rangeNumber.title": "膯wiczenie: zakres cyfr", + "examples.rangeNumber.description": "Napisz wyra偶enie, kt贸re w poni偶szym tek艣cie b臋dzie dopasowywa膰 cyfry od `2` do `7`.\\n\\nCyfry `2` i `7` powinny r贸wnie偶 by膰 uwzgl臋dnione w tym dopasowaniu.", + + "steps.repetitions.title": "Powt贸rzenia", + "steps.repetitions.description": "Niekt贸re specjalne znaki s艂u偶膮 do okre艣lenia ile razy dany znak mo偶e powt贸rzy膰 si臋 w tek艣cie. Te specjalne znaki to plus `+`, gwiazdka `*` i znak zapytania `?`.", + + "steps.asterisk.title": "Gwiazdka `*`", + "steps.asterisk.description": "Aby wskaza膰, 偶e dany znak mo偶e si臋 nie pojawi膰 wcale lub mo偶e si臋 pojawi膰 wiele razy, umieszczamy po nim gwiazdk臋 `*`. Na przyk艂ad, mo偶emy wskaza膰, 偶e litera `e` nie powinna wyst臋powa膰 w tek艣cie, mo偶e wyst膮pi膰 raz lub wi臋cej razy obok siebie.", + + "steps.plusCharacter.title": "Plus `+`", + "steps.plusCharacter.description": "Aby wskaza膰, 偶e dany znak mo偶e wyst膮pi膰 jeden lub wi臋cej razy, umieszczamy po nim znak plusa `+`. Na przyk艂ad, mo偶emy wskaza膰, 偶e litera `e` mo偶e wyst膮pi膰 w tek艣cie jeden lub wi臋cej razy obok siebie.", + + "steps.questionMark.title": "Znak zapytania `?`", + "steps.questionMark.description": "Aby wskaza膰, 偶e dany znak jest opcjonalny, umieszczamy po nim znak zapytania `?`. Na przyk艂ad, mo偶emy wskaza膰, 偶e nast臋pna litera `u` jest opcjonalna.", + + "steps.quantifier.title": "Nawiasy klamrowe - 1", + "steps.quantifier.description": "Aby okre艣li膰 liczb臋 wyst膮pie艅 po sobie danego znaku, umieszczamy po nim nawiasy klamrowe `{n}` razem z liczb膮 okre艣laj膮c膮, ile razy ma si臋 pojawi膰. Na przyk艂ad, mo偶emy wskaza膰, 偶e nast臋pna litera `e` mo偶e wyst膮pi膰 obok siebie dok艂adnie `2` razy.", + + "steps.quantifierMin.title": "Nawiasy klamrowe - 2", + "steps.quantifierMin.description": "Aby okre艣li膰 minimaln膮 liczb臋 wyst膮pie艅 po sobie danego znaku, wskazujemy przynajmniej ile razy ma si臋 on pojawi膰, nast臋pnie przecinek `,` i umieszczamy to w nawiasach klamrowych `{n, }`. Na przyk艂ad, mo偶emy wskaza膰, 偶e litera `e` mo偶e wyst膮pi膰 obok siebie przynajmniej `3` razy.", + + "steps.quantifierRange.title": "Nawiasy klamrowe - 3", + "steps.quantifierRange.description": "Aby okre艣li膰 liczb臋 wyst膮pie艅 znaku po sobie danego znaku w okre艣lonym zakresie, stosujemy nawiasy klamrowe `{x,y}` z podanym zakresem powt贸rze艅, kt贸ry nas interesuje. Na przyk艂ad, mo偶emy wskaza膰, 偶e litera `e` mo偶e wyst膮pi膰 po sobie tylko od `1` do `3` razy.", + + "examples.asterisk.title": "膯wiczenie: gwiazdka `*`", + "examples.asterisk.description": "U偶yj gwiazdki `*` do napisania wyra偶enia, kt贸re dopasuje w poni偶szym tek艣cie ka偶de s艂owo, w kt贸rym nie ma litery `e` lub wyst臋puje w nim co najmniej raz.", + + "examples.plusCharacter.title": "膯wiczenie: plus `+`", + "examples.plusCharacter.description": "Napisz wyra偶enie u偶ywaj膮c znaku plus `+`, tak aby dopasowa膰 s艂owa, w kt贸rych litera `e` wyst臋puje co najmniej raz.", + + "examples.questionMark.title": "膯wiczenie: znak zapytania `?`", + "examples.questionMark.description": "Napisz wyra偶enie u偶ywaj膮c znaku zapytania `?`, tak aby wskaza膰, 偶e litera `n` jest opcjonalna. Dzi臋ki temu zar贸wno `a`, jak i `an` mog膮 by膰 dopasowane.", + + "examples.quantifier.title": "膯wiczenie: nawiasy klamrowe - 1", + "examples.quantifier.description": "Napisz wyra偶enie u偶ywaj膮c nawias贸w klamrowych `{}`, kt贸re dopasuje napisy zawieraj膮ce 4 cyfry obok siebie. Pami臋taj, 偶e zakres `[0-9]` dopasowuje pojedyncz膮 cyfr臋.", + + "examples.quantifierMin.title": "膯wiczenie: nawiasy klamrowe - 2", + "examples.quantifierMin.description": "Napisz wyra偶enie u偶ywaj膮c nawias贸w klamrowych `{}`, kt贸re znajdzie napisy zawieraj膮ce co najmniej `2` cyfry obok siebie.", + + "examples.quantifierRange.title": "膯wiczenie: nawiasy klamrowe - 3", + "examples.quantifierRange.description": "Napisz wyra偶enie u偶ywaj膮c nawias贸w klamrowych `{}`, kt贸re znajdzie napisy zawieraj膮ce co najmniej `1` i co najwy偶ej `4` cyfry obok siebie.", + + "steps.grouping.title": "Nawiasy okr膮g艂e `( )`: grupowanie", + "steps.grouping.description": "Mo偶emy grupowa膰 wyra偶enia i u偶ywa膰 tych grup do odwo艂ywania si臋 do nich lub do narzucania pewnych regu艂. Aby zgrupowa膰 wyra偶enie, umieszczamy je w nawiasach okr膮g艂ych `()`. W poni偶szym przypadku po prostu zgrupuj `haa`.", + + "steps.groupReference.title": "Referencja do grupy", + "steps.groupReference.description": "Poni偶ej znajduj膮 si臋 zgrupowane wyrazy `ha` i `haa`. Pierwsz膮 grup臋 mo偶na u偶y膰, pisz膮c `\\1`, tak aby unikn膮膰 powtarzania. W tym przypadku `1` oznacza kolejno艣膰 zgrupowania. Wpisz na ko艅cu wyra偶enia `\\2`, tak aby odwo艂a膰 si臋 do drugiej grupy.", + + "steps.nonCapturingGrouping.title": "Nawiasy okr膮g艂e `(?: )`: grupowanie bez referencji", + "steps.nonCapturingGrouping.description": "Mo偶esz zgrupowa膰 dane wyra偶enie i zapewni膰, 偶e nie b臋dzie mo偶liwe odwo艂anie do niego przez referencj臋. Na przyk艂ad, poni偶ej znajduj膮 si臋 dwie grupy. Jednak odwo艂anie do pierwszej grupy, kt贸re oznaczamy jako `\\1`, faktycznie odnosi si臋 do drugiej grupy, poniewa偶 pierwsza grupa jest grup膮 bez referencji.", + + "steps.pipeCharacter.title": "Kreska pionowa `|`", + "steps.pipeCharacter.description": "Istnieje znak, kt贸ry pozwala okre艣li膰, 偶e wyra偶enie mo偶e znajdowa膰 si臋 w r贸偶nych wariantach. Wszystkie mo偶liwe wyra偶enia s膮 oddzielone znakiem pionowej kreski `|` - jest to znak alternatywy. W odr贸偶nieniu do zbioru znak贸w `[abc]`, kt贸ry dzia艂a na poziomie znak贸w, alternatywy dzia艂aj膮 na poziomie wyra偶e艅. Na przyk艂ad, poni偶sze wyra偶enie dopasuje zar贸wno `cat`, jak i `rat`. Dodaj na ko艅cu wyra偶enia kolejny znak pionowej kreski `|` i wpisz `dog`, tak aby dopasowa膰 wszystkie s艂owa.", + + "steps.escapeCharacter.title": "Znak ucieczki `\\`", + "steps.escapeCharacter.description": "Istniej膮 specjalne znaki, kt贸rych u偶ywamy podczas pisania wyra偶e艅 regularnych. S膮 to: `{ } [ ] / \\ + * . $ ^ | ?`. Aby dopasowa膰 w tek艣cie kt贸ry艣 z tych znak贸w, musimy u偶y膰 przed nim znaku ucieczki (modyfikacji) `\\`. Na przyk艂ad, aby dopasowa膰 w tek艣cie znaki kropki `.` i gwiazdki `*`, dodajmy przed nimi znak ucieczki `\\`.", + + "steps.caret.title": "Daszek `^`:\\nDopasowanie od pocz膮tku linii", + "steps.caret.description": "Dotychczas u偶ywali艣my `[0-9]` do znajdowania cyfr. Aby znale藕膰 cyfry znajduj膮ce si臋 tylko na pocz膮tku linii, poprzed藕 poni偶sze wyra偶enie znakiem `^`.", + + "steps.dollar.title": "Dolar `$`:\\nDopasowanie od ko艅ca linii", + "steps.dollar.description": "Dodajmy znak `$` po warto艣ci `html`, tak aby znale藕膰 tylko wyrazy `html` znajduj膮ce si臋 na ko艅cu linii.", + + "steps.wordCharacter.title": "Znak s艂owa `\\w`: litera, cyfra lub podkre艣lnik", + "steps.wordCharacter.description": "Wyra偶enie `\\w` s艂u偶y do wyszukiwania liter, cyfr i znak贸w podkre艣lenia. U偶yjmy wyra偶enia `\\w`, tak aby znale藕膰 w tek艣cie znaki nale偶膮ce do s艂贸w.", + + "steps.withoutWordCharacter.title": "Znak nies艂owa `\\W`", + "steps.withoutWordCharacter.description": "Wyra偶enie `\\W` s艂u偶y do wyszukiwania znak贸w innych ni偶 litery, cyfry i znak podkre艣lenia.", + + "steps.numberCharacter.title": "Cyfra `\\d`", + "steps.numberCharacter.description": "Wyra偶enie `\\d` s艂u偶y do wyszukiwania cyfr.", + + "steps.withoutNumberCharacter.title": "Niecyfra `\\D`", + "steps.withoutNumberCharacter.description": "Wyra偶enie `\\D` s艂u偶y do wyszukiwania znak贸w innych ni偶 cyfry.", + + "steps.spaceCharacter.title": "Bia艂y znak `\\s`", + "steps.spaceCharacter.description": "Wyra偶enie `\\s` s艂u偶y do wyszukiwania tzw. bia艂ych znak贸w, np. spacji, tabulacji i znak贸w nowej linii.", + + "steps.withoutSpaceCharacter.title": "Niebia艂y znak `\\S`", + "steps.withoutSpaceCharacter.description": "Wyra偶enie `\\S` s艂u偶y do wyszukiwania niebia艂ych znak贸w.", + + "steps.lookarounds.title": "Przewidywanie", + "steps.lookarounds.description": "Je艣li chcemy aby wyszukiwany przez nas tekst wyst臋powa艂 przed lub po innym tek艣cie, musimy skorzysta膰 z mechanizmu \"przewidywania\". W kolejnych sekcjach zobaczymy jak z niej korzysta膰.", + + "steps.positiveLookahead.title": "Przewidywanie pozytywne w prz贸d: `(?=)`", + "steps.positiveLookahead.description": "Na przyk艂ad, w poni偶szym tek艣cie chcemy dopasowa膰 warto艣膰 liczbow膮 zwi膮zan膮 z godzin膮. Aby dopasowa膰 wy艂膮cznie warto艣ci numeryczne, po kt贸rych wyst臋puje ci膮g znak贸w `PM`, po naszym docelowym wyra偶eniu musimy poda膰 wyra偶enie korzystaj膮ce z przewidywania pozytywnego w prz贸d `(?=)`. Wewn膮trz nawias贸w okr膮g艂ych po znaku `=` wpisz `PM`.", + + "steps.negativeLookahead.title": "Przewidywanie negatywne w prz贸d: `(?!)`", + "steps.negativeLookahead.description": "W kolejnym przyk艂adzie chcemy dopasowa膰 warto艣膰 liczbow膮 niezwi膮zan膮 z godzin膮. Aby dopasowa膰 wy艂膮cznie warto艣ci numeryczne, po kt贸rych nie wyst臋puje ci膮g znak贸w `PM`, po naszym docelowym wyra偶eniu musimy poda膰 wyra偶enie korzystaj膮ce z przewidywania negatywnego w prz贸d `(?!)`. Wewn膮trz nawias贸w okr膮g艂ych po znaku `!` wpisz `PM`.", + + "steps.positiveLookbehind.title": "Przewidywanie pozytywne wstecz: `(?<=)`", + "steps.positiveLookbehind.description": "W poni偶szym tek艣cie chcemy dopasowa膰 warto艣膰 liczbow膮 zwi膮zan膮 z cen膮. Aby dopasowa膰 wy艂膮cznie warto艣ci liczbowe, kt贸re poprzedza znak `$`, przed naszym docelowym wyra偶eniem musimy poda膰 wyra偶enie korzystaj膮ce z przewidywania pozytywnego wstecz `(?<=)`. Wewn膮trz nawias贸w okr膮g艂ych po znaku `=` wpisz `\\$`.", + + "steps.negativeLookbehind.title": "Przewidywanie negatywne wstecz: `(?<!)`", + "steps.negativeLookbehind.description": "W kolejnym przyk艂adzie chcemy dopasowa膰 warto艣膰 liczbow膮 niezwi膮zan膮 z cen膮. Aby dopasowa膰 wy艂膮cznie warto艣ci liczbowe, kt贸rych nie poprzedza znak `$`, przed naszym docelowym wyra偶eniem musimy poda膰 wyra偶enie korzystaj膮ce z przewidywania negatywnego wstecz `(?<!)`. Wewn膮trz nawias贸w okr膮g艂ych po znaku `!` wpisz `\\$`.", + + "steps.flags.title": "Flagi", + "steps.flags.description": "Flagi zmieniaj膮 wynik dzia艂ania wyra偶enia. Z tego powodu nazywane s膮 r贸wnie偶 `modyfikatorami`. Flagi okre艣laj膮, czy wpisane wyra偶enie traktuje tekst wej艣ciowy jako osobne linie, czy jest wielko艣ci liter ma znaczenie oraz czy maj膮 zosta膰 znalezione wszystkie mo偶liwe dopasowania. Aby dowiedzie膰 si臋 wi臋cej o flagach, przejd藕 do kolejnej sekcji.", + + "steps.flagsGlobal.title": "Wszystkie dopasowania", + "steps.flagsGlobal.description": "Flaga `global` (skr贸towo oznaczana jako `g`) powoduje, 偶e wyra偶enie wybiera wszystkie mo偶liwe dopasowania. Je艣li ta flaga nie jest ustawiona, to wyra偶enie zwr贸ci tylko pierwsze dopasowanie. Aby wybra膰 wszystkie dopasowania, w艂膮cz flag臋 `global`.", + + "steps.flagsMultiline.title": "Tryb wieloliniowy", + "steps.flagsMultiline.description": "Standardowo wyra偶enie regularne traktuje ca艂y tekst jako jedn膮 lini臋. U偶ywaj膮c flagi `multiline` (skr贸towo oznaczanej jako `m`), ka偶da linia jest osobno przetwarzana przez nasze wyra偶enie regularne. Dzi臋ki temu, w poni偶szym przyk艂adzie nasze wyra偶enie, kt贸re ma dopasowa膰 wzorzec wyst臋puj膮cy na ko艅cu linii, dzia艂a osobno dla ka偶dej linii. Aby znale藕膰 wszystkie dopasowania, w艂膮cz flag臋 `multiline`.", + + "steps.flagsCaseInsensitive.title": "Ignorowanie wielko艣膰 liter", + "steps.flagsCaseInsensitive.description": "Aby w naszym wyra偶eniu wy艂膮czy膰 rozr贸偶nianie wielko艣ci liter, musimy aktywowa膰 flag臋 `case-insensitive` (skr贸towo oznaczan膮 jako `i`).", + + "steps.greedyMatching.title": "Dopasowanie zach艂anne", + "steps.greedyMatching.description": "Domy艣lnie wyra偶enie regularne wykonuje dopasowanie zach艂anne, co oznacza, 偶e dopasowanie b臋dzie jak najd艂u偶sze. Sp贸jrzmy na poni偶szy przyk艂ad. Mamy tu dowolne dopasowanie ko艅cz膮ce si臋 liter膮 `r`, wi臋c przed t膮 liter膮 mog膮 wyst膮pi膰 dowolne znaki. Zwr贸膰my uwag臋, 偶e dopasowanie nie zatrzymuje si臋 na pierwszej napotkanej literze `r`.", + + "steps.lazyMatching.title": "Dopasowanie leniwe", + "steps.lazyMatching.description": "Dopasowanie leniwe, w przeciwie艅stwie do zach艂annego, zatrzymuje si臋 przy pierwszym dopasowaniu. Na przyk艂ad, aby znale藕膰 w poni偶szym tek艣cie pierwsze dopasowanie ko艅cz膮ce si臋 liter膮 `r`, kt贸re poprzedzone jest dowolnymi znakami, w wyra偶eniu regularnym po znaku `*` dodaj `?`. W konsekwencji b臋dzie to oznacza膰, 偶e dopasowanie zako艅czy si臋 na pierwszym wyst膮pieniu litery `r`.", + + "steps.completeAllSteps.title": "Gratulacje, koniec kursu!", + "steps.completeAllSteps.description": "W dowolnym momencie mo偶esz powr贸ci膰 do poprzednich sekcji kursu oraz mo偶esz 艂atwo porusza膰 si臋 pomi臋dzy wszystkimi uko艅czonymi przez Ciebie sekcjami." + +} diff --git a/src/localization/pl/lessons.json b/src/localization/pl/lessons.json new file mode 100644 index 00000000..d7e5ae67 --- /dev/null +++ b/src/localization/pl/lessons.json @@ -0,0 +1,7 @@ +{ + "lessons.regex101.title": "Regexy 101 - PL", + "lessons.regex101.description": "W tym przewodniku nauczysz si臋 podstaw wyra偶e艅 regularnych.", + + "lessons.regexForSeo.title": "Regexy w SEO - PL", + "lessons.regexForSeo.description": "W tym przewodniku dowiesz si臋 jak i gdzie mo偶esz u偶ywa膰 wyra偶e艅 regularnych w SEO." +} \ No newline at end of file diff --git a/src/localization/pl/lessons/regexForSeo.json b/src/localization/pl/lessons/regexForSeo.json new file mode 100644 index 00000000..3603d76c --- /dev/null +++ b/src/localization/pl/lessons/regexForSeo.json @@ -0,0 +1,49 @@ +{ + "lesson.regexForSeo.starter.title": "Wyra偶enia regularne w SEO", + "lesson.regexForSeo.starter.description": "Regexy to zbi贸r wyra偶e艅 regularnych cz臋sto u偶ywanych w wielu dziedzinach, zw艂aszcza przez osoby pragn膮ce zwi臋kszy膰 swoj膮 produktywno艣膰. Zalety korzystania z regex贸w w SEO to 艂atwiejsza analiza du偶ych zbior贸w danych i tworzenie bardziej zaawansowanych filtr贸w. Je艣li dopiero zaczynasz przygod臋 z wyra偶eniami regularnymi, to zalecamy rozpocz臋cie od samouczka `Regex 101`. \\n\\nZacznij od wpisania `OK` w polu \"Regex\", aby przej艣膰 do kolejnej sekcji i uzyska膰 bardziej szczeg贸艂owe wyja艣nienia.", + + "lesson.regexForSeo.usage.title": "Przyk艂ady u偶ycia", + "lesson.regexForSeo.usage.description": "Mo偶esz u偶ywa膰 wyra偶e艅 regularnych w SEO na takich platformach jak `Google Analytics`, `Google Data Studio`, `Google Sheets`, `Google Search Console`, `Ahrefs`, `Deepcrawl` czy te偶 `Screaming Frog`. Cz臋sto stosuje si臋 je r贸wnie偶 w plikach `.htaccess` i `robots.txt` (ze sk艂adni膮 podobn膮 do regex贸w).\\n\\nPoni偶ej znajduje si臋 przyk艂adowe wyra偶enie regularne, kt贸re zaznaczy na li艣cie tylko teksty, kt贸re rozpoczynaj膮 si臋 od `Google`.", + + "lesson.regexForSeo.basics.title": "Podstawy", + "lesson.regexForSeo.basics.description": "Przyjrzyjmy si臋 niekt贸rym cz臋sto u偶ywanym wyra偶eniom regularnym. Zalecamy zapoznanie si臋 z samouczkiem `Regex 101`, aby dowiedzie膰 si臋 wi臋cej na ich temat. Aby rozpocz膮膰, wpisz `Yes`.", + + "lesson.regexForSeo.or.title": "Operator \"lub\" `|`", + "lesson.regexForSeo.or.description": "U偶ywamy operatora \"lub\" `|`, aby filtrowa膰 wiele wyra偶e艅 jednocze艣nie. Na przyk艂ad, aby przefiltrowa膰 tekst jednocze艣nie pod k膮tem s艂贸w `seo`, jak i `regex`, nale偶y wpisa膰 oba s艂owa, oddzielaj膮c je operatorem `|`.", + + "lesson.regexForSeo.optional.title": "Operator opcjonalno艣ci `?`", + "lesson.regexForSeo.optional.description": "U偶ywamy go aby wskaza膰, 偶e wyra偶enie lub znak jest opcjonalny. Na przyk艂ad, je艣li chcemy przefiltrowa膰 tekst zawieraj膮cy zar贸wno `http`, jak i `https`, mo偶emy u偶y膰 operatora `|`, ale istnieje lepszy spos贸b dla tych dw贸ch prawie identycznych s艂贸w.\\n\\nW tym przyk艂adzie litera `s` jest opcjonalna. Dodaj znak zapytania `?` na ko艅cu litery `s`.", + + "lesson.regexForSeo.any.title": "Wszystko `.*`", + "lesson.regexForSeo.any.description": "W wyra偶eniach regularnych kropka `.` mo偶e dopasowa膰 dowolny znak, w艂膮cznie ze spacjami. Jednak dopasowanie to dotyczy tylko pojedynczego znaku. Znak gwiazdki `*` oznacza, 偶e poprzedni element nie istnieje w og贸le lub wyst臋puje w tek艣cie wiele razy. Gdy oba znaki s膮 u偶ywane razem, oznacza to, 偶e w dopasowaniu mo偶e wyst臋powa膰 element o nieograniczonej d艂ugo艣ci.\\n\\nPoni偶ej znajduj膮 si臋 r贸偶ne s艂owa kluczowe. Dodaj `.*` na ko艅cu wyra偶enia regularnego, tak aby napisa膰 wyra偶enie, kt贸re dopasowuje tekst `how to write ` i wszystko po nim.", + + "lesson.regexForSeo.contains.title": "Zawieranie", + "lesson.regexForSeo.contains.description": "Aby przefiltrowa膰 tekst pod k膮tem danego s艂owa lub frazy, nale偶y wprowadzi膰 szukane s艂owo lub fraz臋 mi臋dzy dwoma wyra偶eniami `.*`, kt贸re dopasowuj膮 wszystko. Na przyk艂ad, wpisz `.*buy.*`, aby przefiltrowa膰 te wiersze, kt贸re zawieraj膮 `buy`.", + + "lesson.regexForSeo.negated.title": "Negacja zbioru znak贸w `[^abc]`", + "lesson.regexForSeo.negated.description": "Negacji zbioru znak贸w `[^]` u偶ywamy by wykluczy膰 okre艣lone znaki. Niechciane znaki zapisujemy w nawiasach kwadratowych z daszkiem na pocz膮tku. W poni偶szej li艣cie wyst臋puj膮 zar贸wno s艂owa `http`, jak i `https`. Poniewa偶 `http` wyst臋puje w obu, wyra偶enie regularne wybierze r贸wnie偶 `https`. Wpisz `[^s]` po literze `p`, aby wykluczy膰 liter臋 `s`.", + + "lesson.regexForSeo.caret.title": "Znak daszka `^`", + "lesson.regexForSeo.caret.description": "Za艂贸偶my, 偶e mamy list臋 adres贸w URL i chcemy znale藕膰 tylko te adresy URL, kt贸re zaczynaj膮 si臋 od `http`. Adresy URL mog膮 zawiera膰 ci膮g znak贸w `http` w r贸偶nych cz臋艣ciach adresu, nie tylko na ich pocz膮tku. Dodaj daszek `^` na pocz膮tku poni偶szego wyra偶enia, aby przefiltrowa膰 tylko te wiersze, kt贸re zaczynaj膮 si臋 od `http`.", + + "lesson.regexForSeo.dollarAndEscape.title": "Znak dolara `$` oraz znak ucieczki `\\`", + "lesson.regexForSeo.dollarAndEscape.description": "Znowu mamy list臋 adres贸w URL. Chcemy znale藕膰 tylko te adresy, kt贸re ko艅cz膮 si臋 na `.htm`.\\n\\nPoniewa偶 kropka `.` jest znakiem specjalnym dopasowuj膮cym wszystko, najpierw musimy wy艂膮czy膰 jej specjalne dzia艂anie przed `htm`, u偶ywaj膮c znaku ucieczki `\\`. Operacja ta dotyczy wszystkich specjalnych znak贸w.\\n\\nNast臋pnie dodaj znak dolara `$` na ko艅cu wyra偶enia. Zapewnia to, 偶e tekst do przefiltrowania ko艅czy si臋 wyra偶eniem napisanym przed tym znakiem.", + + "lesson.regexForSeo.limitation.title": "Ograniczenia d艂ugo艣ci `{n}`", + "lesson.regexForSeo.limitation.description": "Mo偶e zdarzy膰 si臋, 偶e chcemy przefiltrowa膰 wyniki wed艂ug d艂ugo艣ci znak贸w. Na przyk艂ad, aby przefiltrowa膰 adresy URL o d艂ugo艣ci `35` znak贸w, wpisz liczb臋, kt贸r膮 chcesz u偶y膰 jako d艂ugo艣膰, `{35}`, u偶ywaj膮c nawias贸w klamrowych na ko艅cu kropki `.`.", + + "lesson.regexForSeo.maxLimitation.title": "Ograniczenia d艂ugo艣ci (maksimum) `{n,m}`", + "lesson.regexForSeo.maxLimitation.description": "Aby przefiltrowa膰 adresy URL o maksymalnej d艂ugo艣ci `35` znak贸w, wpisz `{1,35}`. Warto艣膰 minimaln膮 i maksymaln膮 liczby u偶ywanej jako d艂ugo艣膰 podaj u偶ywaj膮c nawias贸w klamrowych zaraz za kropk膮 `.`.", + + "lesson.regexForSeo.minLimitation.title": "Ograniczenia d艂ugo艣ci (minimum) `{n,}`", + "lesson.regexForSeo.minLimitation.description": "Aby przefiltrowa膰 adresy URL o minimalnej d艂ugo艣ci `35` znak贸w, wpisz za kropk膮 `{35,}` u偶ywaj膮c nawias贸w klamrowych i ko艅cz膮c przecinkiem podaj膮c tylko minimaln膮 liczb臋 u偶ywan膮 jako d艂ugo艣膰.", + + "lesson.regexForSeo.robots.title": "robots.txt (sk艂adnia podobna do regex贸w)", + "lesson.regexForSeo.robots.description": "Poni偶ej znajduje si臋 przyk艂ad pliku `robots.txt` zawieraj膮cego elementy podobne do wyra偶e艅 regularnych. W przyk艂adzie mamy, 偶e roboty internetowe nie powinny przeszukiwa膰 link贸w o rozszerzeniu `pdf`.", + + "lesson.regexForSeo.htaccess.title": ".htaccess", + "lesson.regexForSeo.htaccess.description": "Oto przyk艂ad u偶ycia wyra偶e艅 regularnych w pliku `.htaccess`. Linki z rozszerzeniem `php` s膮 przekierowywane z kodem `301` na linki z rozszerzeniem `html`.", + + "lesson.regexForSeo.outro.title": "Zako艅czenie", + "lesson.regexForSeo.outro.description": "Wiedza o wyra偶eniach regularnych to umiej臋tno艣膰, kt贸ra zwi臋ksza produktywno艣膰 na dowolnej platformie, kt贸ra pozwala na ich u偶ycie. Gdy ju偶 zaczniesz z nich korzysta膰 i b臋dziesz szlifowa膰 umiej臋tno艣膰 korzystania z regex贸w, szybciej wykonasz wielu powtarzalnych zada艅 i zaoszcz臋dzisz czas na inne rzeczy. Aby lepiej zrozumie膰 podstawy wyra偶e艅 regularnych, mo偶esz odwiedzi膰 przewodnik `Regexy 101`, gdzie mo偶esz testowa膰 i eksperymentowa膰 z r贸偶nymi wyra偶eniami. Mo偶esz u偶y膰 `Piaskownicy` do przetestowania swoich wyra偶e艅 regularnych na swoich tekstach." +}