-
Notifications
You must be signed in to change notification settings - Fork 1k
Translate untranslated chapters to Polish #1760
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Thanks for the contribution! I can't review this myself so could you find someone who can? Fortunately Poland has no shortage of knowledgable Scala programmers so I'm sure you can find someone in no time. /cc @Krever, @romanowski, @rkrzewski, @EncodePanda |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Few changes, but looks good in general, thanks!
I haven't checked the new pages ordering though, I hope its alright.
_pl/cheatsheets/index.md
Outdated
</tr> | ||
<tr> | ||
<td><span class="label success">Dobrze</span><br> <pre class="highlight"><code>def f(x: Any) = println(x)</code></pre><br /> <span class="label important">Źle</span><br> <pre class="highlight"><code>def f(x) = println(x)</code></pre></td> | ||
<td>Definiowanie funkcji.<br />Błąd składni: potrzebne są typy dla każdego argumentu.</td> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know this file was adjusted only on structure level but I go through it anyway, so will suggest few improvements. Feel free to ignore those though.
<td>Definiowanie funkcji.<br />Błąd składni: potrzebne są typy dla każdego argumentu.</td> | |
<td>Definiowanie funkcji.<br />Błąd składni: wymagane są typy dla każdego argumentu.</td> |
_pl/cheatsheets/index.md
Outdated
</tr> | ||
<tr> | ||
<td><pre class="highlight"><code>def f(x: R)</code></pre> vs.<br /> <pre class="highlight"><code>def f(x: => R)</code></pre></td> | ||
<td>Wywołanie przez wartość.<br /><br />Wywołanie przez nazwę (parametry leniwe).</td> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<td>Wywołanie przez wartość.<br /><br />Wywołanie przez nazwę (parametry leniwe).</td> | |
<td>Wywołanie przez wartość.<br /><br />Wywołanie przez nazwę (parametr leniwy).</td> |
_pl/cheatsheets/index.md
Outdated
</tr> | ||
<tr> | ||
<td><pre class="highlight"><code>(1 to 5).map(_ * 2)</code></pre> vs.<br /> <pre class="highlight"><code>(1 to 5).reduceLeft(_ + _)</code></pre></td> | ||
<td>Funkcja anonimowa: podkreślenie to argument pozycjonalny</td> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<td>Funkcja anonimowa: podkreślenie to argument pozycjonalny</td> | |
<td>Funkcja anonimowa: podkreślenie to argument pozycyjny</td> |
_pl/cheatsheets/index.md
Outdated
</tr> | ||
<tr> | ||
<td><span class="label success">Dobrze</span><br> <pre class="highlight"><code>(1 to 5).map(2*)</code></pre><br /> <span class="label important">Źle</span><br> <pre class="highlight"><code>(1 to 5).map(*2)</code></pre></td> | ||
<td>Funkcja anonimowa: związana metoda infiksowa. Możesz użyć także <code>2*_</code>.</td> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<td>Funkcja anonimowa: związana metoda infiksowa. Możesz użyć także <code>2*_</code>.</td> | |
<td>Funkcja anonimowa: związana metoda infiksowa. Możesz użyć także <code>2 * _</code>.</td> |
_pl/cheatsheets/index.md
Outdated
} map { | ||
_ * 2 | ||
}</code></pre></td> | ||
<td>Funkcja anonimowa: Styl potokowy (lub ponawiasowane).</td> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<td>Funkcja anonimowa: Styl potokowy (lub ponawiasowane).</td> | |
<td>Funkcja anonimowa: Styl potokowy.</td> |
I know english version has this addition but IMHO it makes completely no sense in polish
Original for reference: Anonymous functions: pipeline style (or parens too).
_pl/tour/packages-and-imports.md
Outdated
@@ -1,15 +1,92 @@ | |||
--- | |||
layout: tour | |||
title: Packages and Imports | |||
title: Paczki i importy |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
title: Paczki i importy | |
title: Pakiety i importy |
_pl/tour/packages-and-imports.md
Outdated
--- | ||
|
||
# Packages and Imports | ||
# Paczki i importy |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# Paczki i importy | |
# Pakiety i importy |
_pl/tour/packages-and-imports.md
Outdated
class User | ||
``` | ||
|
||
Jednym z założeń jest nadanie paczce takiej samej nazwy, jak katalog zawierający plik Scali. Jednak Scala jest niezależna od układu plików. Struktura katalogów projektu SBT dla użytkowników pakietu (`package users`) może wyglądać następująco: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Jednym z założeń jest nadanie paczce takiej samej nazwy, jak katalog zawierający plik Scali. Jednak Scala jest niezależna od układu plików. Struktura katalogów projektu SBT dla użytkowników pakietu (`package users`) może wyglądać następująco: | |
Jedną z konwencji jest nadawanie pakietowi takiej samej nazwy, jak nazwa katalogu zawierającego plik źródłowy. Jednak Scala jest niezależna od układu plików. Struktura katalogów projektu SBT dla `package users` może wyglądać następująco: |
_pl/tour/packages-and-imports.md
Outdated
- test | ||
``` | ||
|
||
Zwróć uwagę, że katalog `users` znajduje się w katalogu `scala` i jak w pakiecie znajduje się wiele plików Scali. Każdy plik Scali w pakiecie może mieć tę samą deklarację pakietu. Innym sposobem deklarowania pakietów jest użycie nawiasów klamrowych: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Zwróć uwagę, że katalog `users` znajduje się w katalogu `scala` i jak w pakiecie znajduje się wiele plików Scali. Każdy plik Scali w pakiecie może mieć tę samą deklarację pakietu. Innym sposobem deklarowania pakietów jest użycie nawiasów klamrowych: | |
Zwróć uwagę, że katalog `users` znajduje się w katalogu `scala`, a w pakiecie znajduje się wiele plików Scali. Każdy plik Scali w pakiecie może mieć tę samą deklarację pakietu. Innym sposobem deklarowania pakietów jest użycie nawiasów klamrowych: |
_pl/tour/packages-and-imports.md
Outdated
} | ||
``` | ||
|
||
Jak widać, pozwala to na zagnieżdżanie pakietów i zapewnia większą kontrolę nad zakresem i hermetyzacją. Nazwa pakietu powinna być zapisana małymi literami, a jeśli kod jest opracowywany w organizacji, która posiada witrynę internetową, powinna mieć następującą konwencję formatu: `<top-level-domain>.<domain-name>.<project-name>`. Na przykład, gdyby firma Google miała projekt o nazwie `SelfDrivingCar`, nazwa pakietu wyglądałaby następująco: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Jak widać, pozwala to na zagnieżdżanie pakietów i zapewnia większą kontrolę nad zakresem i hermetyzacją. Nazwa pakietu powinna być zapisana małymi literami, a jeśli kod jest opracowywany w organizacji, która posiada witrynę internetową, powinna mieć następującą konwencję formatu: `<top-level-domain>.<domain-name>.<project-name>`. Na przykład, gdyby firma Google miała projekt o nazwie `SelfDrivingCar`, nazwa pakietu wyglądałaby następująco: | |
Jak widać, pozwala to na zagnieżdżanie pakietów i zapewnia większą kontrolę nad zakresem i hermetyzacją. Nazwa pakietu powinna być zapisana małymi literami, a jeśli kod jest tworzony w organizacji, która posiada witrynę internetową, powinna mieć następującą konwencję formatu: `<top-level-domain>.<domain-name>.<project-name>`. Na przykład, gdyby firma Google miała projekt o nazwie `SelfDrivingCar`, nazwa pakietu wyglądałaby następująco: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Would be good if one more person could look at it, but if not should still be ok.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey, I've added some edit suggestions for the consideration of translation's author.
_pl/tour/by-name-parameters.md
Outdated
language: pl | ||
--- | ||
|
||
_Parametry przekazywane według nazwy_ są ewaluowane za każdym razem gdy są używane. Nie zostaną w ogóle wyewaluowane jeśli nie będą używane. Jest to podobne do zastępowania parametrów według nazwy przekazanymi wyrażeniami. Są przeciwieństwem do _parametrów według wartości_. Aby utworzyć parametr wywoływany według nazwy, po prostu dodaj `=>` przed jego typem. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
_Parametry przekazywane według nazwy_ są ewaluowane za każdym razem gdy są używane. Nie zostaną w ogóle wyewaluowane jeśli nie będą używane. Jest to podobne do zastępowania parametrów według nazwy przekazanymi wyrażeniami. Są przeciwieństwem do _parametrów według wartości_. Aby utworzyć parametr wywoływany według nazwy, po prostu dodaj `=>` przed jego typem. | |
_Parametry przekazywane według nazwy_ są ewaluowane za każdym razem gdy są używane. Nie zostaną w ogóle wyewaluowane jeśli nie będą używane. Jest to podobne do zastępowania parametrów w ciele funkcji wyrażeniami podanymi w miejscu jej wywołania. Są przeciwieństwem do _parametrów przekazywanych według wartości_. Aby utworzyć parametr przekazywany według nazwy, po prostu dodaj `=>` przed jego typem. |
_pl/tour/by-name-parameters.md
Outdated
|
||
Metoda `whileLoop` używa wielu list parametrów do określenia warunku i treści pętli. Jeśli `condition` (warunek) jest prawdziwy, `body` (treść) jest wykonywana a następnie wykonywane jest rekurencyjne wywołanie `whileLoop`. Jeśli `condition` jest fałszywy, treść nigdy nie jest ewaluowana, ponieważ dodaliśmy `=>` do typu `body`. | ||
|
||
Teraz, kiedy przekażemy `i>0` jako nasz `condition` (warunek) i `println(i); i-= 1` jako `body`, nasze wyrażenie zachowuje się jak standardowa pętla while w wielu językach. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Teraz, kiedy przekażemy `i>0` jako nasz `condition` (warunek) i `println(i); i-= 1` jako `body`, nasze wyrażenie zachowuje się jak standardowa pętla while w wielu językach. | |
Jeśli przekażemy `i>0` jako nasz `condition` (warunek) i `println(i); i-= 1` jako `body`, nasze wyrażenie zachowuje się jak standardowa pętla while w wielu językach. |
_pl/tour/by-name-parameters.md
Outdated
|
||
Teraz, kiedy przekażemy `i>0` jako nasz `condition` (warunek) i `println(i); i-= 1` jako `body`, nasze wyrażenie zachowuje się jak standardowa pętla while w wielu językach. | ||
|
||
Ta możliwość opóźnienia ewaluacji parametru do czasu jego użycia może zwiększyć wydajność, jeśli ewaluacja parametru wymaga intensywnych obliczeń lub dłużej działającego bloku kodu, takiego jak pobieranie adresu URL. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ta możliwość opóźnienia ewaluacji parametru do czasu jego użycia może zwiększyć wydajność, jeśli ewaluacja parametru wymaga intensywnych obliczeń lub dłużej działającego bloku kodu, takiego jak pobieranie adresu URL. | |
Ta możliwość opóźnienia ewaluacji parametru do czasu jego użycia może zwiększyć wydajność, jeśli ewaluacja parametru wymaga intensywnych obliczeń lub dłużej działającego bloku kodu, takiego jak pobieranie treści spod adresu URL. |
_pl/tour/package-objects.md
Outdated
|
||
Scala udostępnia obiekty pakietu jako wygodny kontener wspóldzielony w całym pakiecie. | ||
|
||
Obiekty pakietu mogą zawierać dowolne definicje, nie tylko definicje zmiennych i metod. Na przykład, są często używane do przechowywania aliasów typów dla całego pakietu i niejawnych konwersji. Obiekty pakietu mogą nawet dziedziczyć klasy i cechy (traits) Scali. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Obiekty pakietu mogą zawierać dowolne definicje, nie tylko definicje zmiennych i metod. Na przykład, są często używane do przechowywania aliasów typów dla całego pakietu i niejawnych konwersji. Obiekty pakietu mogą nawet dziedziczyć klasy i cechy (traits) Scali. | |
Obiekty pakietu mogą zawierać dowolne definicje, nie tylko definicje zmiennych i metod. Na przykład, są często używane do przechowywania aliasów typów i niejawnych konwersji. Obiekty pakietu mogą nawet dziedziczyć klasy i cechy (traits) Scali. |
_pl/tour/package-objects.md
Outdated
|
||
Obiekty pakietu mogą zawierać dowolne definicje, nie tylko definicje zmiennych i metod. Na przykład, są często używane do przechowywania aliasów typów dla całego pakietu i niejawnych konwersji. Obiekty pakietu mogą nawet dziedziczyć klasy i cechy (traits) Scali. | ||
|
||
Z założenia, kod źródłowy obiektu pakietu jest zwykle umieszczany w pliku źródłowym o nazwie `package.scala`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Z założenia, kod źródłowy obiektu pakietu jest zwykle umieszczany w pliku źródłowym o nazwie `package.scala`. | |
Zgodnie z konwencją, kod źródłowy obiektu pakietu jest zwykle umieszczany w pliku źródłowym o nazwie `package.scala`. |
_pl/tour/packages-and-imports.md
Outdated
|
||
## Import | ||
|
||
Deklaracje `import` służą do uzyskiwania dostępu do członków (members, tzn.: klasy, cechy, funkcje itp.) w innych pakietach. Aby uzyskać dostęp do członków tego samego pakietu, nie jest wymagana deklaracja `import`. Deklaracje `import` są selektywne. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Deklaracje `import` służą do uzyskiwania dostępu do członków (members, tzn.: klasy, cechy, funkcje itp.) w innych pakietach. Aby uzyskać dostęp do członków tego samego pakietu, nie jest wymagana deklaracja `import`. Deklaracje `import` są selektywne. | |
Deklaracje `import` służą do uzyskiwania dostępu do elementów składowych (members, tzn.: klasy, cechy, funkcje itp.) w innych pakietach. Aby uzyskać dostęp do elementów tego samego pakietu, nie jest wymagana deklaracja `import`. Deklaracje `import` są selektywne. |
_pl/tour/packages-and-imports.md
Outdated
``` | ||
import users._ // zaimportuj wszystko z pakietu użytkowników | ||
import users.User // zaimportuj klasę User | ||
import users.{User, UserPreferences} // zaimportuj tylko wybranych członków |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
import users.{User, UserPreferences} // zaimportuj tylko wybranych członków | |
import users.{User, UserPreferences} // zaimportuj tylko wybrane elementy |
_pl/tour/packages-and-imports.md
Outdated
import users.{UserPreferences => UPrefs} // zaimportuj i zmień nazwę dla wygody | ||
``` | ||
|
||
Jedną z różnic w Scali od Javy jest to, że `import` można używać wszędzie: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Jedną z różnic w Scali od Javy jest to, że `import` można używać wszędzie: | |
Jedną z różnic w Scali od Javy jest to, że deklarację `import` można umieścić w dowolnym miejscu: |
_pl/tour/packages-and-imports.md
Outdated
} | ||
``` | ||
|
||
W przypadku konfliktu nazw i konieczności zaimportowania czegoś z katalogu głównego projektu, poprzedź nazwę pakietu przedrostkiem `_root_`: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
W przypadku konfliktu nazw i konieczności zaimportowania czegoś z katalogu głównego projektu, poprzedź nazwę pakietu przedrostkiem `_root_`: | |
W przypadku konfliktu nazw i konieczności podania pełnej ścieżki w hierarchii nazw pakietów, poprzedź nazwę pakietu przedrostkiem `_root_`: |
| `x.isInstanceOf[String]` | sprawdzenie typu (w czasie wykonania) | | ||
| `x.asInstanceOf[String]` | rzutowanie typu (w czasie wykonania) | | ||
| `x: String` | oznaczenie typu (w czasie kompilacji) | | ||
<table> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Markdown code was replaced by HTML here. Was that intended?
Yes, it was intended. I did it to make it consistent with the English version of the cheat sheet. |
Is this ready for merge? |
Yes, it is. I've added all requested changes, it is ready for merge. |
thank you, @unrooted and reviewers, for this substantial contribution! |
This translates the untranslated chapter of the Tour of Scala into Polish.