calibre - en to tr translation catalogue (28 entries)

en: All about using regular expressions in calibre
tr: Calibre'de kurallı ifadelerin kullanımına dair her şey

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.
tr: Kurallı ifadeler, calibrenin birçok yerinde e-kitap içerik ve üstverinin çok yönlü işlemesi için kullanılan bir özellik. Bu öğretici başlangıç, size calibrede kurallı ifadelerin kullanımına başlamanız için yumuşak bir tanıtım.

en: Contents
tr: İçindekiler

en: First, a word of warning and a word of courage
tr: Öncelikle, bir uyarı ve bir kaç cesaret kelimesi

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.
tr: Bu, kaçınılmaz şekilde bir şekilde teknik olacaktır- neticede, düzenli ifadeler teknik şeyler yapmak için teknik araçlardır. Karmaşık ya da anlaşılmaz görünebilecek bazı kavramlar veya jargon kullanmam gerekecek. Bu kavramları olabildiğince basit anlatmaya çalışacağım, ama hiç anlatmadan da yapamam. Bunu söyledikten sonra, gördüğünüz jargonlar cesaretinizi kırmasın, herşeyi baştan anlatmaya çalışıyorum. Ve düzenli ifadeler kara büyü ya da gizli saklı şeyler gibi görünseler de (ya da rastgele karakter dizileri ve işaretler gibi), bu kadar karmaşık olmadıkları konusunda sözüme güvenebilirsiniz. Düzenli ifadeleri gerçekten anlayan insanlar bile daha karmaşık olanları okumakta zorlanabilirler, ama yazması o kadar da zor değildir- ifadeyi adım adım oluşturursunuz. Şimdi bir adım atın ve beni tavşan deliğine doğru takip edin.

en: Where in calibre can you use regular expressions?
tr: Calibre'de nerelerde düzenli ifadeler kullanabilirsiniz?

en: What on earth *is* a regular expression?
tr: Yahu nedir *bu* düzenli ifade?

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.
tr: Bir düzenli ifade karakter dizisi kümelerini tanımlama yöntemidir. Tek bir düzenli ifade değişik belirli sayıda karakter dizisiyle *eşleşebilir*. Düzenli ifadeyi bu kadar güçlü kılan budur -- çok sayıda çeşitlemeyi ifade edecek öz bir yöntemdir.

en: Care to explain?
tr: Açıklamak istemez misin?

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.
tr: Peki, zaten bu yüzden burdayız. Öncelikle, düzenli ifadelerdeki en önemli kavram şudur: *Bir karakter dizisi kendisiyle eşleşen bir düzenli ifadedir*. Yani, ``"Hello, World!"`` karakter dizisiyle eşleşen bir düzenli ifade istesem, kullanmam gereken düzenli ifade ``Hello, World!``olurdu. Ve evet, gerçekten bu kadar basit. Fark edeceğiniz üzere, bu *yalnızca* bire bir karakter dizisiyle eşleşir yani ``"Hello, World!"`` ile, ``"Hello, wOrld!"`` veya ``"hello, world!"`` ile ya da başka bir çeşidiyle değil.

en: That doesn't sound too bad. What's next?
tr: Çok kötü görünmüyor. Sırada ne var?

en: Next is the beginning of the really good stuff. Remember where I said that regular expressions can match multiple strings? This is where it gets a little more complicated. Say, as a somewhat more practical exercise, the e-book you wanted to convert had a nasty footer counting the pages, like "Page 5 of 423". Obviously the page number would rise from 1 to 423, thus you'd have to match 423 different strings, right? Wrong, actually: regular expressions allow you to define sets of characters that are matched: To define a set, you put all the characters you want to be in the set into square brackets. So, for example, the set ``[abc]`` would match either the character "a", "b" or "c". *Sets will always only match one of the characters in the set*. They "understand" character ranges, that is, if you wanted to match all the lower case characters, you'd use the set ``[a-z]`` for lower- and uppercase characters you'd use ``[a-zA-Z]`` and so on. Got the idea? So, obviously, using the expression ``Page [0-9] of 423`` you'd be able to match the first 9 pages, thus reducing the expressions needed to three: The second expression ``Page [0-9][0-9] of 423`` would match all two-digit page numbers, and I'm sure you can guess what the third expression would look like. Yes, go ahead. Write it down.
tr: Bir sonraki iyi öğelerin başlangıcı olacak. Kurallı ifadelerin, çoklu dizelerle eşleşebileceğini söylediğimi hatırlıyor musunuz? Bu noktada iş biraz karmaşık hal alıyor. Diyelim ki, nispeten daha bir pratik çalışma olarak,

en: Hey, neat! This is starting to make sense!
tr: Güzel! Mantıklı gelmeye başladı!

en: Well, these special characters are very neat and all, but what if I wanted to match a dot or a question mark?
tr: Bu özel karakterler değişik ve temiz, ama ya bir nokta ya da soru işareti eşleştirmek istersem?

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.
tr: Bunu da tabi ki yapabilirsiniz: Herhangi özel karakterin önüne ters bölü işareti koyarsanız, bu karakter herhangi bir özel anlamı olmadan neyse o olarak yorumlanır. Bir ters bölü işareti çifti ve ardından gelen tek bir karaktere kaçış düzeni denir, ve özel bir karakterin önüne ters bölü koymaya da karakteri kaçırmak denir. Kaçış düzeni tek bir öğe gibi yorumlanır. Tabi ki yalnızca özel karakterleri kaçırmaktan fazlasınnı yapan kaçış düzenleri de vardır, örneğin ``"\t"`` bir sekme anlamına gelir. Bazı kaçış düzenlerinden daha sonra bahsedeceğiz. Ve bu arada, bu özel karakterlerle ilgili olarak: Bu girişte bahsi geçen karakterleri bir fonksiyona sahipmiş ve karakterin aslını kullanmak için kaçırmanız gerekiyormuş gibi düşünebilirsiniz.

en: So, what are the most useful sets?
tr: Peki, en kullanışlı kümeler hangileri?

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.
tr: Kümelerle ilgili son bir not olarak, bir kümeyi herhangi bir karakter gibi *ama* kümedeki karakterler gibi tanımlayabileceğinizi söyleyelim. Bunu ``"^"`` karakterini *kümedeki ilk karakter* olarak ekleyerek yapabilirsiniz. Böylece, ``[^a]`` "a" olmayan herhangi bir karakterle eşleşir. Buna kümeyi tümleme denir. Daha önce gördüğümüz kaçış düzeni kısayolları de tümlenebilirler: ``"\D"`` sayı olmayan herhangi bir karakter demektir, yani ``[^0-9]`` ile eşittir. Diğer kısayollar da tahmin edeceğiniz üzere, küçük harf olan yerine büyük harf kullanarak tümlenebilir. Önceki kısımdan ``<p[^>]*>`` örneğine gidersek, kullandığı karakter kümesinin kapanan bir açı işareti dışındaki herhangi bir karakterle eşleştiğini görebilirsiniz.

en: But if I had a few varying strings I wanted to match, things get complicated?
tr: Ama bir kaç çeşit karakter dizim varsa, işler karmaşıklaşıyor?

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.
tr: Tabi ki, grup parantezleri kullanmadan da dik çubuğu kullanabilirsiniz. Nicelik sözcüklerinin önlerindeki öğeleri tekrarladıklarını söylediğimi hatırlıyorsunuz değil mi? Dikey çubuk biraz daha değişik çalışır: "Title|Author" ifadesi de ya "Title" ya da "Author" karakter dizisiyle eşleşir, yukardaki örnekteki gibi gruplamayla. *Dikey çubuk tüm ifade arasından önce geleni seçer ve takip eder*. Yani, "Calibre" ve "calibre" karakter dizileriyle eşleşme istediğinizde ve yalnızca büyük harf- ve küçük harf "c" arasını seçmek istediğinizde , ``(c|C)alibre`` ifadesini kullanmanız gerekir, gruplama "c" nin seçildiğinden emin olmanızı sağlar. ``c|Calibre`` kullansaydınız, "c" karakterinde eşleşme alırdınız ya da "Calibre" karakter dizisinde, ki burada istediğimiz bu değil. Kısaca: şüphe duyarsanız, gruplamayı dikey çubukla kullanın.

en: You missed...
tr: Şunu atladın...

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!
tr: ...bir dakika, gruplarla yapabileceğiniz bir tane son, gerçekten hoş şey var. Daha önce eşleşen bir grubunuz varsa, sonraki ifadelerde bu gruba başvurabilirsiniz: Gruplar 1 ile başlayarak numaralandırılır, ve başvurmak için grup numarasını kaçırmanız gerekir, yani beşinci gruba ``\5`` ile başvurulur. "Test Test" karakter dizisinde ``([^ ]+) \1`` aradıysanız, tüm karakter dizisiyle eşleşirsiniz!

en: In the beginning, you said there was a way to make a regular expression case insensitive?
tr: Başlangıçta, düzenli ifadeleri büyük küçük harf bağımsız yapabileceğimizi söylemiştin?

en: I think I'm beginning to understand these regular expressions now... how do I use them in calibre?
tr: Galiba artık bu düzenli ifadeleri anlamaya başlıyorum... calibre'de bunları nasıl kullanırım?

en: Conversions
tr: Dönüştürmeler

en: Adding books
tr: Kitap Ekleme

en: Bulk editing metadata
tr: Metadata'nın toplu düzenlenmesi

en: Credits
tr: Hazırlayanlar

en: Thanks for helping with tips, corrections and such:
tr: İpuçları, düzeltmeler vs. için teşekkürler:
