calibre - en to pl translation catalogue (30 entries)

en: All about using regular expressions in calibre
pl: Wszystko, co chcielibyście wiedzieć o wyrażeniach regularnych w calibre

en: Regular expressions are features used in many places in calibre to perform sophisticated manipulation of e-book content and metadata. This tutorial is a gentle introduction to getting you started with using regular expressions in calibre.
pl: Wyrażenia regularne są stosowane w wielu miejscach w calibre, umożliwiając skomplikowane nawet manipulacje zawartością i metadanymi książki. Ten podręcznik wprowadzi cię łagodnie w podstawy użycia wyrażeń regularnych w calibre.

en: Contents
pl: Spis treści

en: First, a word of warning and a word of courage
pl: Na początek ostrzeżenie i zachęta.

en: This is, inevitably, going to be somewhat technical- after all, regular expressions are a technical tool for doing technical stuff. I'm going to have to use some jargon and concepts that may seem complicated or convoluted. I'm going to try to explain those concepts as clearly as I can, but really can't do without using them at all. That being said, don't be discouraged by any jargon, as I've tried to explain everything new. And while regular expressions themselves may seem like an arcane, black magic (or, to be more prosaic, a random string of mumbo-jumbo letters and signs), I promise that they are not all that complicated. Even those who understand regular expressions really well have trouble reading the more complex ones, but writing them isn't as difficult- you construct the expression step by step. So, take a step and follow me into the rabbit hole.
pl: Niestety, będzie to trochę techniczna część - w końcu wyrażenia regularne są technicznym narzędziem do wykonywania technicznych zadań. Znajdzie się tu trochę żargonu i pojęć, które mogą wydawać się skomplikowane i zawiłe. Postaram się je wyjaśnić jak najlepiej jak mogę, ale, wierzcie mi, bez tego się nie da. Mimo wszystko nie zniechęcaj się żargonem, postaram się wyjaśniać wszystkie nowe pojęcia. I choć same wyrażenia regularne mogą wydawać się wiedzą tajemną, czarną magią (albo, bardziej prozaicznie, losowym ciągiem znaków), obiecuję, że nie będzie to aż tak skomplikowane. Nawet ci, którzy rozumieją wyrażenia regularne miewają kłopoty z odczytaniem tych bardziej skomplikowanych, ale pisanie ich nie jest takie trudne - konstruujesz wyrażenie krok po kroku. Tak więc - zrób pierwszy krok i - podążaj za białym królikiem...

en: Where in calibre can you use regular expressions?
pl: Gdzie w calibre można użyć wyrażeń regularnych?

en: What on earth *is* a regular expression?
pl: Czym właściwie *jest* wyrażenie regularne?

en: A regular expression is a way to describe sets of strings. A single regular expression can *match* a number of different strings. This is what makes regular expression so powerful -- they are a concise way of describing a potentially large number of variations.
pl: Wyrażenie regularne jest sposobem na opisanie ciągu znaków. Pojedyncze wyrażenie może *pasować* do wielu różnych ciągów. To właśnie czyni wyrażenia regularne tak potężnym – to zwięzły sposób na opisanie potencjalnie dużej liczby różnych wersji.

en: Care to explain?
pl: Możesz to wyjaśnić?

en: Well, that's why we're here. First, this is the most important concept in regular expressions: *A string by itself is a regular expression that matches itself*. That is to say, if I wanted to match the string ``"Hello, World!"`` using a regular expression, the regular expression to use would be ``Hello, World!``. And yes, it really is that simple. You'll notice, though, that this *only* matches the exact string ``"Hello, World!"``, not e.g. ``"Hello, wOrld!"`` or ``"hello, world!"`` or any other such variation.
pl: Otóż dlatego właśnie tu jesteśmy. Po pierwsze najważniejsza koncepcja wyrażeń regularnych: *Ciąg znaków jest wyrażeniem regularnym, pasującym do samego siebie*. To znaczy, jeśli chcę dopasować ciąg ``"Hello, World!"`` przy użyciu wyrażeń regularnych, to najprostsze z nich to ``Hello, World!``. Owszem, to jest takie proste. Zauważysz zapewne, że wyrażenie to pasuje *wyłącznie* do ``"Hello, World!"``, a nie na przykład ``"Hello, wOrld!"`` czy ``"hello, world!"`` ani żadnej innej odmiany.

en: That doesn't sound too bad. What's next?
pl: Nie brzmi źle. Co dalej?

en: Hey, neat! This is starting to make sense!
pl: Hej, nieźle! To zaczyna mieć sens!

en: Well, these special characters are very neat and all, but what if I wanted to match a dot or a question mark?
pl: No tak, te znaki specjalne są bardzo fajne i w ogóle, ale co jeśli chcemy dopasować kropkę albo znak zapytania?

en: You can of course do that: Just put a backslash in front of any special character and it is interpreted as the literal character, without any special meaning. This pair of a backslash followed by a single character is called an escape sequence, and the act of putting a backslash in front of a special character is called escaping that character. An escape sequence is interpreted as a single element. There are of course escape sequences that do more than just escaping special characters, for example ``"\t"`` means a tabulator. We'll get to some of the escape sequences later. Oh, and by the way, concerning those special characters: Consider any character we discuss in this introduction as having some function to be special and thus needing to be escaped if you want the literal character.
pl: Możesz oczywiście zrobić tak: poprzedź znak specjalny backslashem i będzie on interpretowany jak każdy inny znak, bez specjalnego znaczenia. Taka para backslasha i znaku specjalnego jest nazywana sekwencją unikową, a umieszczanie backslasha przed znakiem to maskowanie znaków. Sekwencja unikowa jest interpretowana jak jeden element. Rzecz jasna są sekwencje unikowe, które mają znaczenie inne niż tylko maskowanie znaków specjalnych. Na przykład ``"\t"`` oznacza tabulator. Więcej o sekwencjach unikowych powiemy później. A przy okazji, co do znaków specjalnych: potraktuj te znaki, o których mowa jako znaki mające specjalne funkcje i tym samym konieczne jest maskowanie jeśli chcesz uzyskać literalnie konkretny znak.

en: So, what are the most useful sets?
pl: A jakie są najbardziej przydatne zestawy?

en: As a last note on sets, you can also define a set as any character *but* those in the set. You do that by including the character ``"^"`` as the *very first character in the set*. Thus, ``[^a]`` would match any character excluding "a". That's called complementing the set. Those escape sequence shorthands we saw earlier can also be complemented: ``"\D"`` means any non-number character, thus being equivalent to ``[^0-9]``. The other shorthands can be complemented by, you guessed it, using the respective uppercase letter instead of the lowercase one. So, going back to the example ``<p[^>]*>`` from the previous section, now you can see that the character set it's using tries to match any character except for a closing angle bracket.
pl: Na koniec informacji o zestawach - możesz również zdefiniować wszystkie znaki *oprócz* tych ujętych w zestawie. Robi się to poprzez dodanie znaku ``"^"`` jako *pierwszego znaku w zestawie*. Tak więc ``[^a]`` dopasuje każdy znak oprócz "a". Nazywane jest to uzupełnianiem zestawu. Sekwencje unikowe, o których pisaliśmy wcześniej również mogą być w ten sposób uzupełniane: ``"\D"`` oznacza dowolny znak nienumeryczny, jest więc ekwiwalentem ``[^0-9]``. Inne skróty, jak się zapewne spodziewasz, mogą również być uzupełniane poprzez wielką literę zamiast małej. Powracając do przykładu ``<p[^>]*>`` z poprzedniego rozdziału rozumiesz już, że w tym przypadku zestaw jest używany do dopasowania dowolnego znaku oprócz zamykającego nawiasu ostrego.

en: But if I had a few varying strings I wanted to match, things get complicated?
pl: A gdybym miał kilka różnych ciągów, które chciałbym dopasować, to czy byłoby to skomplikowane?

en: You can, of course, use the vertical bar without using grouping parentheses, as well. Remember when I said that quantifiers repeat the element preceding them? Well, the vertical bar works a little differently: The expression "Title|Author" will also match either the string "Title" or the string "Author", just as the above example using grouping. *The vertical bar selects between the entire expression preceding and following it*. So, if you wanted to match the strings "Calibre" and "calibre" and wanted to select only between the upper- and lowercase "c", you'd have to use the expression ``(c|C)alibre``, where the grouping ensures that only the "c" will be selected. If you were to use ``c|Calibre``, you'd get a match on the string "c" or on the string "Calibre", which isn't what we wanted. In short: If in doubt, use grouping together with the vertical bar.
pl: Możesz oczywiście użyć pionowej kreski bez grupujących nawiasów. Pamiętasz, że kwantyfikatory powtarzają poprzedzający je znak? Pionowa kreska działa nieco inaczej: wyrażenie "Tytuł|Autor" także dopasuje ciąg "Tytuł" albo ciąg "Autor", tak jak w poprzednim przykładzie, gdzie użyliśmy nawiasów. *Pionowa kreska obejmuje swoim działaniem całe wyrażenie przed i za nią*. Tak więc jeśli chcesz odnaleźć ciąg "Calibre" i "calibre", wybierając pomiędzy małym a wielkim "C", musisz użyć wyrażenia ``(c|C)alibre``, w którym grupowanie oznacza, że wybór dotyczy wyłącznie "c". Gdybyś użył ``c|Calibre`` to dopasowany zostałby ciąg "c" albo ciąg "Calibre", co jest nieprawidłowe. W skrócie: jeśli masz wątpliwości, grupuj wyrażenia, jeśli używasz pionowej kreski.

en: You missed...
pl: Zapomniałem...

en: ... wait just a minute, there's one last, really neat thing you can do with groups. If you have a group that you previously matched, you can use references to that group later in the expression: Groups are numbered starting with 1, and you reference them by escaping the number of the group you want to reference, thus, the fifth group would be referenced as ``\5``. So, if you searched for ``([^ ]+) \1`` in the string "Test Test", you'd match the whole string!
pl: ...moment, jest jeszcze jedna, naprawdę użyteczna funkcja grup. Jeśli w wyrażeniu jest grupa, która została dopasowana, możesz się do niej odnieść później w tym wyrażeniu: grupy są numerowane, począwszy od 1, możesz użyć tych numerów, poprzedzając je backslashem, tak więc piąta grupa będzie oznaczona przez ``\5``. Jeśli więc szukasz ``([^ ]+)\1`` otrzymasz cały ciąg!

en: In the beginning, you said there was a way to make a regular expression case insensitive?
pl: Na początku powiedziałeś, że w wyrażeniach regularnych wielkość liter może nie mieć znaczenia?

en: I think I'm beginning to understand these regular expressions now... how do I use them in calibre?
pl: Zaczynam chyba rozumieć, o co chodzi w wyrażeniach regularnych, a teraz... jak ich użyć w calibre?

en: Conversions
pl: Konwertowanie

en: Let's begin with the conversion settings, which is really neat. In the :guilabel:`Search & replace` part, you can input a regexp (short for regular expression) that describes the string that will be replaced during the conversion. The neat part is the wizard. Click on the wizard staff and you get a preview of what calibre "sees" during the conversion process. Scroll down to the string you want to remove, select and copy it, paste it into the regexp field on top of the window. If there are variable parts, like page numbers or so, use sets and quantifiers to cover those, and while you're at it, remember to escape special characters, if there are some. Hit the button labeled :guilabel:`Test` and calibre highlights the parts it would replace were you to use the regexp. Once you're satisfied, hit OK and convert. Be careful if your conversion source has tags like this example::
pl: Zacznijmy od ustawień konwertowania, co jest dość przyjemne. W części :guilabel:„Znajdź i zamień” możesz wprowadzić wyrażenie regularne opisujące napis, który zostanie podmieniony w trakcie konwertowania książki. Tu z pomocą przychodzi kreator. Naciśnij przycisk kreatora, a zobaczysz podgląd tego, jak calibre „widzi” książkę podczas konwertowania. Przewiń tekst do napisu, który chcesz usunąć, zaznacz go, skopiuj i wklej do pola wyrażenia regularnego na górze okna. Jeśli napis zawiera części zmienne, takie jak numery stron itp., możesz użyć zbiorów i kwantyfikatorów, by je wychwycić. Skoro już przy tym jesteśmy, pamiętaj, by poprzedzić jakiekolwiek znaki specjalne znakiem modyfikacji (tj. odwrotnym ukośnikiem). Naciśnij przycisk :guilabel:„Test”, a calibre wyróżni części, które zastąpiłby podczas konwertowania. Kiedy już będziesz gotowy, naciśnij OK, by rozpocząć konwertowanie. Pamiętaj, że jeżeli źródło konwertowania zawiera znaczniki, jak w poniższym przykładzie:

en: Adding books
pl: Dodawanie książek

en: Bulk editing metadata
pl: Masowa edycja metadanych

en: Quick reference
pl: Szybkie odniesienie

en: Credits
pl: Uznanie

en: Thanks for helping with tips, corrections and such:
pl: Dzięki za pomocne rady, korekty itp.:

en: ldolse
pl: Idolse
