Skip to content

Commit df85ccb

Browse files
authored
Merge pull request #22 from animyrch/TR-src_v2_guide_syntax-ANI
Closes #10
2 parents 47e4a43 + 15fcbcd commit df85ccb

File tree

2 files changed

+83
-83
lines changed

2 files changed

+83
-83
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ Spanish translation is maintained by [1950Labs](https://1950labs.com) and Vue.js
8787

8888
### Turkish
8989

90-
* Turkish translation is maintainted by [animyrch](http://blog.traductionturcfrancais.com).
90+
* Turkish translation is maintainted by [animyrch](http://blog.traductionturcfrancais.com)
9191
* Translation Repo - [/animyrch/tr.vuejs.org](https://github.com/animyrch/tr.vuejs.org)
9292

9393
### Vietnamese

src/v2/guide/syntax.md

100644100755
+82-82
Original file line numberDiff line numberDiff line change
@@ -1,215 +1,215 @@
11
---
2-
title: Template Syntax
2+
title: Şablon Sentaksı
33
type: guide
44
order: 4
55
---
66

7-
Vue.js uses an HTML-based template syntax that allows you to declaratively bind the rendered DOM to the underlying Vue instance's data. All Vue.js templates are valid HTML that can be parsed by spec-compliant browsers and HTML parsers.
7+
Vue.js, ekrana yansıtılan DOM modelini arka plandaki Vue örneğine ait verilere beyansal olarak bağlamayı sağlayan HTML tabanlı bir şablon sentaksı kullanır. Her Vue.js şablonu geçerli bir HTML kodu olup standartlara uyum gösteren tarayıcılar ve HTML derleyiciler tarafından okunabilir.
88

9-
Under the hood, Vue compiles the templates into Virtual DOM render functions. Combined with the reactivity system, Vue is able to intelligently figure out the minimal number of components to re-render and apply the minimal amount of DOM manipulations when the app state changes.
9+
Vue, şablonları kendiliğinden Sanal DOM modelleme fonksiyonları aracılığıyla derler. Otomatik tepki sisteminin de yardımıyla Vue yeniden modellenmesi gereken minimum sayıdaki bileşeni akıllıca tespit edebilir ve uygulamanın durumu değiştiğinde mümkün olan en az sayıda DOM değişikliğini gerçekleştirir.
1010

11-
If you are familiar with Virtual DOM concepts and prefer the raw power of JavaScript, you can also [directly write render functions](render-function.html) instead of templates, with optional JSX support.
11+
Eğer Sanal DOM kavramlarına alışıksanız ve saf JavaScript’in gücünden yararlanmayı tercih ederseniz isteğe bağlı JSX desteği sayesinde şablona gerek olmaksızın [doğrudan modelleme fonksiyonları](render-function.html) yazabilirsiniz.
1212

13-
## Interpolations
13+
## Değişken değer takibi
1414

15-
### Text
15+
### Metin
1616

17-
The most basic form of data binding is text interpolation using the "Mustache" syntax (double curly braces):
17+
Veri bağlamanın en basit şekli “Bıyık” sentaksı (ikişer adet süslü parantez) ile yazılan metin değerlerinin takibidir.
1818

1919
``` html
20-
<span>Message: {{ msg }}</span>
20+
<span>Mesaj: {{ msg }}</span>
2121
```
2222

23-
The mustache tag will be replaced with the value of the `msg` property on the corresponding data object. It will also be updated whenever the data object's `msg` property changes.
23+
Bıyık etiketiyle çevrili kısım ilgili bileşenin veri nesnesi içerisinde yer alan `msg` özelliğinin değeri ile değiştirilecektir. Söz konusu veri nesnesinin `msg` özelliği ne zaman değişirse bu metin de güncellenir.
2424

25-
You can also perform one-time interpolations that do not update on data change by using the [v-once directive](../api/#v-once), but keep in mind this will also affect any other bindings on the same node:
25+
Ayrıca [v-once direktifini](../api/#v-once) kullanarak değişken değerinin yalnızca bir defa kullanılmasını sağlayabilirsiniz. Fakat bu işlemin aynı HTML düğümü üzerindeki tüm bağlar üzerinde etkili olacağını unutmayın.
2626

2727
``` html
28-
<span v-once>This will never change: {{ msg }}</span>
28+
<span v-once>Bu asla değişmeyecektir: {{ msg }}</span>
2929
```
3030

31-
### Raw HTML
31+
### Saf HTML
3232

33-
The double mustaches interprets the data as plain text, not HTML. In order to output real HTML, you will need to use the `v-html` directive:
33+
Çift bıyık sentaksı verileri düz metin olarak yorumlar. HTML olarak değil. Gerçek HTML yazabilmek için `v-html` direktifini kullanmalısınız:
3434

3535
``` html
36-
<p>Using mustaches: {{ rawHtml }}</p>
37-
<p>Using v-html directive: <span v-html="rawHtml"></span></p>
36+
<p>Bıyık ile kullanım: {{ safHtml }}</p>
37+
<p>v-html direktifi ile kullanım: <span v-html="safHtml"></span></p>
3838
```
3939

4040
{% raw %}
4141
<div id="example1" class="demo">
42-
<p>Using mustaches: {{ rawHtml }}</p>
43-
<p>Using v-html directive: <span v-html="rawHtml"></span></p>
42+
<p>Bıyık ile kullanım: {{ rawHtml }}</p>
43+
<p>v-html direktifi ile kullanım: <span v-html="safHtml"></span></p>
4444
</div>
4545
<script>
4646
new Vue({
4747
el: '#example1',
4848
data: function () {
4949
return {
50-
rawHtml: '<span style="color: red">This should be red.</span>'
50+
safHtml:<span style="color: red">Bu metnin rengi kırmızı olmalı.</span>'
5151
}
5252
}
5353
})
5454
</script>
5555
{% endraw %}
5656
57-
The contents of the `span` will be replaced with the value of the `rawHtml` property, interpreted as plain HTML - data bindings are ignored. Note that you cannot use `v-html` to compose template partials, because Vue is not a string-based templating engine. Instead, components are preferred as the fundamental unit for UI reuse and composition.
57+
`span` içerisindeki metin `rawHtml` özelliğinin değeri ile değiştirilecektir ve bu metin saf HTML olarak yorumlanacak olup veri bağları dikkate alınmayacaktır. `v-html` direktifi içerisinde dinamik şablon oluşturmak mümkün değildir zira Vue, dizgi tabanlı bir şablon motoru değildir. Bunun yerine kullanıcı arayüzü elemanlarının yeniden kullanımı ve birlikte kullanımına yönelik temel birim olarak bileşenler kullanılmaktadır.
5858
59-
<p class="tip">Dynamically rendering arbitrary HTML on your website can be very dangerous because it can easily lead to [XSS vulnerabilities](https://en.wikipedia.org/wiki/Cross-site_scripting). Only use HTML interpolation on trusted content and **never** on user-provided content.</p>
59+
<p class="tip">İçeriği belirsiz HTML girdilerinin internet sitenizde dinamik olarak modellenmesi son derece tehlikeli olabilir zira kolayca [XSS zafiyetleri](https://tr.wikipedia.org/wiki/Siteler_aras%C4%B1_betik_%C3%A7al%C4%B1%C5%9Ft%C4%B1rma) ile sonuçlanabilir. HTML değerlerinin takibi işlevini yalnızca güvenilir içerikler üzerinde kullanın ve **asla** kullanıcı tarafından temin edilen içerik üzerinde kullanmayın.<Çp>
6060
61-
### Attributes
61+
### HTML Nitelikleri
6262
63-
Mustaches cannot be used inside HTML attributes. Instead, use a [v-bind directive](../api/#v-bind):
63+
HTML nitelikleri içerisinde bıyık sentaksı kullanılamaz. Bunun yerine [v-bind direktifini](../api/#v-bind) kullanın:
6464
6565
``` html
66-
<div v-bind:id="dynamicId"></div>
66+
<div v-bind:id="dinamikId"></div>
6767
```
6868
69-
In the case of boolean attributes, where their mere existence implies `true`, `v-bind` works a little differently. In this example:
69+
Mevcut olmaları `true` anlamına gelen boole nitelikleri için `v-bind` biraz farklı faaliyet göstermektedir. Aşağıdaki örneğe bakalım:
7070
7171
``` html
72-
<button v-bind:disabled="isButtonDisabled">Button</button>
72+
<button v-bind:disabled="butonAktifDegil">Buton</button>
7373
```
7474
75-
If `isButtonDisabled` has the value of `null`, `undefined`, or `false`, the `disabled` attribute will not even be included in the rendered `<button>` element.
75+
Eğer `butonAktifDeğil` değişkeninin değeri `null`, `undefined` veya `false olursa `disabled` niteliği, modellenen `<button>` elementine dahil bile edilmeyecektir.
7676
77-
### Using JavaScript Expressions
77+
### JavaScript İfadelerinin Kullanımı
7878
79-
So far we've only been binding to simple property keys in our templates. But Vue.js actually supports the full power of JavaScript expressions inside all data bindings:
79+
Şu ana kadar şablonlarımızda basit özellik anahtarları üzerinde bağ gerçekleştirdik. Halbuki Vue.js veri bağları üzerinde JavaScript ifadelerinin sunduğu tüm gücü kullanmayı mümkün kılıyor:
8080
8181
``` html
82-
{{ number + 1 }}
82+
{{ sayi + 1 }}
8383
84-
{{ ok ? 'YES' : 'NO' }}
84+
{{ ok ? 'EVET' : 'HAYIR' }}
8585
86-
{{ message.split('').reverse().join('') }}
86+
{{ mesaj.split('').reverse().join('') }}
8787
8888
<div v-bind:id="'list-' + id"></div>
8989
```
9090
91-
These expressions will be evaluated as JavaScript in the data scope of the owner Vue instance. One restriction is that each binding can only contain **one single expression**, so the following will **NOT** work:
91+
Bu ifadeler bağlı oldukları Vue örneğinin veri kapsamı içerisinde JavaScript olarak değerlendirilecektir. Bu açıdan tek sınırlama her bağ içerisinde **yalnızca bir ifadenin** kullanılma zorunluluğudur. Yani aşağıdaki ifade **ÇALIŞMAYACAKTIR**:
9292
9393
``` html
94-
<!-- this is a statement, not an expression: -->
94+
<!-- Aşağıdaki kod bir ifade değil bir beyandır: -->
9595
{{ var a = 1 }}
9696
97-
<!-- flow control won't work either, use ternary expressions -->
98-
{{ if (ok) { return message } }}
97+
<!-- akış kontrolü de çalışmayacaktır, bunun yerine üç terimli ifadeleri kullanın -->
98+
{{ if (ok) { return mesaj } }}
9999
```
100100
101-
<p class="tip">Template expressions are sandboxed and only have access to a whitelist of globals such as `Math` and `Date`. You should not attempt to access user defined globals in template expressions.</p>
101+
<p class="tip">Şablon ifadeleri dış ortamdan ayrılmış olup yalnızca `Math` ve `Date` gibi global değişkenleri içeren sınırlı bir listeye erişim sunar. Şablon ifadeleri içerisinde kullanıcı tarafından belirlenen global değişkenlere erişim gerçekleştirmeye çalışmayın.</p>
102102
103-
## Directives
103+
## Direktifler
104104
105-
Directives are special attributes with the `v-` prefix. Directive attribute values are expected to be **a single JavaScript expression** (with the exception of `v-for`, which will be discussed later). A directive's job is to reactively apply side effects to the DOM when the value of its expression changes. Let's review the example we saw in the introduction:
105+
Direktifler `v-` ön ekini kullanan özel niteliklerdir. Direktif nitelikleri, **tek bir JavaScript ifadesine** karşılık gelen bir değer içermelidir (`v-for` bu açıdan bir istisna olup buna aşağıda değineceğiz). Direktiflerin görevi, içerisindeki ifadenin değeri değiştiğinde bunun yan etkilerini DOM modeline reaktif olarak yansıtmaktır. Giriş bölümünde gördüğümüz örneği yeniden inceleyelim:
106106
107107
``` html
108-
<p v-if="seen">Now you see me</p>
108+
<p v-if="seen">Şu an beni görüyorsun</p>
109109
```
110110
111-
Here, the `v-if` directive would remove/insert the `<p>` element based on the truthiness of the value of the expression `seen`.
111+
Burada `v-if` direktifi, `<p>` elementini `seen` ifadesine ait değerin doğru olup olmadığını göre DOM’a ekler veya kaldırır.
112112
113-
### Arguments
113+
### Argümanlar
114114
115-
Some directives can take an "argument", denoted by a colon after the directive name. For example, the `v-bind` directive is used to reactively update an HTML attribute:
115+
Bazı direktifler, direktif adından sonra iki nokta ile işaret edilen bir “argüman” alabilir. Örneğin `v-bind` direktifi bir HTML niteliğini reaktif olarak güncellemek üzere kullanılır:
116116
117117
``` html
118118
<a v-bind:href="url"> ... </a>
119119
```
120120
121-
Here `href` is the argument, which tells the `v-bind` directive to bind the element's `href` attribute to the value of the expression `url`.
121+
Burada `href`, `v-bind`’ın argümanı olarak kullanılıyor ve söz konusu elementin `href` niteliğini `url` ifadesinin değerine bağlıyor.
122122
123-
Another example is the `v-on` directive, which listens to DOM events:
123+
Bir diğer örnek DOM olaylarını dinleyen `v-on` direktifidir:
124124
125125
``` html
126-
<a v-on:click="doSomething"> ... </a>
126+
<a v-on:click="birSeyYap"> ... </a>
127127
```
128128
129-
Here the argument is the event name to listen to. We will talk about event handling in more detail too.
129+
Burada argüman dinlenilecek olan olayın adıdır. Olay yönetimine ileride daha yakından değineceğiz.
130130
131-
### Dynamic Arguments
131+
### Dinamik Argümanlar
132132
133-
> New in 2.6.0+
133+
> 2.6.0+’dan itibaren
134134
135-
Starting in version 2.6.0, it is also possible to use a JavaScript expression in a directive argument by wrapping it with square brackets:
135+
2.6.0 versiyonundan itibaren bir direktif argümanı içerisinde JavaScript ifadelerini köşeli bir parantez içerisinde kullanmak mümkün:
136136
137137
``` html
138-
<a v-bind:[attributeName]="url"> ... </a>
138+
<a v-bind:[nitelikAdi]="url"> ... </a>
139139
```
140140
141-
Here `attributeName` will be dynamically evaluated as a JavaScript expression, and its evaluated value will be used as the final value for the argument. For example, if your Vue instance has a data property, `attributeName`, whose value is `"href"`, then this binding will be equivalent to `v-bind:href`.
141+
Burada `nitelikAdi` dinamik bir şekilde JavaScript ifadesi olarak değerlendirilecek ve tespit edilen değer bu argümanın nihai değeri olarak kullanılacak. Örneğin eğer Vue örneğiniz `"href"` değerine sahip `nitelikAdi` şeklindeki bir data niteliğine sahipse yukarıdaki bağ `v-bind:href`e denk olacaktır.
142142
143-
Similarly, you can use dynamic arguments to bind a handler to a dynamic event name:
143+
Aynı şekilde dinamik argümanlar sayesinde bir olay yöneticisini dinamik bir olay adına bağlayabilirsiniz:
144144
145145
``` html
146-
<a v-on:[eventName]="doSomething"> ... </a>
146+
<a v-on:[olayAdı]="birSeyYap"> ... </a>
147147
```
148148
149-
Similarly, when `eventName`'s value is `"focus"`, for example, `v-on:[eventName]` will be equivalent to `v-on:focus`.
149+
Yine yukarıdaki gibi `olayAdi`'nın değeri `"focus"` ise `v-on:[eventName]` ifadesi `v-on:focus`a karşılık gelecektir.
150150

151-
#### Dynamic Argument Value Constraints
151+
#### Dinamik Argüman Değeri Kısıtlamaları
152152

153-
Dynamic arguments are expected to evaluate to a string, with the exception of `null`. The special value `null` can be used to explicitly remove the binding. Any other non-string value will trigger a warning.
153+
Dinamik argümanlar `null` dışında yalnızca dizgi olarak değerlendirilmesi beklenir. Söz konusu bağı kaldırabilmek için istinai olarak `null` kullanılmasına müsaade edilir. Bunun dışında dizgi olmayan tüm değerler bir uyarı verecektir.
154154

155-
#### Dynamic Argument Expression Constraints
155+
#### Dinamik Argüman İfadesi Kısıtlamaları
156156

157-
<p class="tip">Dynamic argument expressions have some syntax constraints because certain characters are invalid inside HTML attribute names, such as spaces and quotes. You also need to avoid uppercase keys when using in-DOM templates.</p>
157+
<p class="tip">Dinamik argüman ifadeleri üzerinde bir takım sentaks kısıtlamaları mevcuttur zira HTML nitelik isimleri içerisinde boşluk veya tırnak gibi bazı karakterlerin kullanılması mümkün değildir. Ayrıca DOM içerisinde kullanılan şablonlarda büyük harf kullanılmamasına da dikkat etmelisiniz.</p>
158158

159-
For example, the following is invalid:
159+
Örneğin aşağıdaki ifade geçersizdir:
160160

161161
``` html
162-
<!-- This will trigger a compiler warning. -->
163-
<a v-bind:['foo' + bar]="value"> ... </a>
162+
<!-- Bu bir derleyici uyarısını tetikleyecektir. -->
163+
<a v-bind:['foo' + bar]="deger"> ... </a>
164164
```
165165

166-
The workaround is to either use expressions without spaces or quotes, or replace the complex expression with a computed property.
166+
Bu uyarının ortaya çıkmasını engellemek için boşluk veya tırnak kullanmayın veya karmaşık ifadeleri hesaplanmış bir nitelik ile değiştirin.
167167

168-
In addition, if you are using in-DOM templates (templates directly written in an HTML file), you have to be aware that browsers will coerce attribute names into lowercase:
168+
Buna ek olarak DOM içerisinde şablon kullanıyorsanız (şablonunuzu doğrudan bir HTML dosyası içerisinde yazıyorsanız) tarayıcıların nitelik isimlerini küçük harf olarak düzelteceğini unutmayın:
169169

170170
``` html
171-
<!-- This will be converted to v-bind:[someattr] in in-DOM templates. -->
172-
<a v-bind:[someAttr]="value"> ... </a>
171+
<!-- Aşağıdaki ifade DOM içi şablonda v-bind:[birnitelik] şeklinde dönüştürülecektir. -->
172+
<a v-bind:[birNitelik]="deger"> ... </a>
173173
```
174174

175-
### Modifiers
175+
### Değiştiriciler
176176

177-
Modifiers are special postfixes denoted by a dot, which indicate that a directive should be bound in some special way. For example, the `.prevent` modifier tells the `v-on` directive to call `event.preventDefault()` on the triggered event:
177+
Değiştiriciler bir nokta ile gösterilen özel eklerdir ve bir direktifin özel bir şekilde bağlanması gerektiğini ifade eder. Örneğin `.prevent` değiştiricisi `v-on` direktifine tetiklenen olay üzerinde `event.preventDefault()` ifadesini çağırmasını söyler:
178178

179179
``` html
180180
<form v-on:submit.prevent="onSubmit"> ... </form>
181181
```
182182

183-
You'll see other examples of modifiers later, [for `v-on`](events.html#Event-Modifiers) and [for `v-model`](forms.html#Modifiers), when we explore those features.
183+
Söz konusu bölümlere geldiğimizde [`v-on`a](events.html#Event-Modifiers) ve [`v-model`e](forms.html#Modifiers) yönelik başka değiştirici örneklerini göreceksiniz.
184184

185-
## Shorthands
185+
## Kısaltmalar
186186

187-
The `v-` prefix serves as a visual cue for identifying Vue-specific attributes in your templates. This is useful when you are using Vue.js to apply dynamic behavior to some existing markup, but can feel verbose for some frequently used directives. At the same time, the need for the `v-` prefix becomes less important when you are building a [SPA](https://en.wikipedia.org/wiki/Single-page_application), where Vue manages every template. Therefore, Vue provides special shorthands for two of the most often used directives, `v-bind` and `v-on`:
187+
`v-` ön eki şablonlarınızdaki Vue’ye özgü nitelikleri kolayca tespit edebilmeyi sağlayan görsel bir ipucu görevi görür. Hali hazırda yazılmış olan biçimli metinlere dinamik davranışlar eklemek için Vue.js’nin kullanılması sırasında yararlı olsa da direktiflerin sıkça kullanıldığı durumlarda metin kalabalığı yaratabilir. Aynı zamanda her şeyin Vue tarafından yönetildiği bir [SPA](https://tr.wikipedia.org/wiki/Tek_sayfa_uygulamas%C4%B1) geliştirdiğiniz sırada `v-` ön eki önemini kaybeder. Bu nedenle Vue en çok kullanılan iki direktif olan `v-bind` ve `v-on` için özel kısaltmalar sunar:
188188

189-
### `v-bind` Shorthand
189+
### `v-bind` Kısaltması
190190

191191
``` html
192-
<!-- full syntax -->
192+
<!-- uzun sentaks -->
193193
<a v-bind:href="url"> ... </a>
194194
195-
<!-- shorthand -->
195+
<!-- kısaltma -->
196196
<a :href="url"> ... </a>
197197
198-
<!-- shorthand with dynamic argument (2.6.0+) -->
198+
<!-- dinamik argümanlı kısatma (2.6.0+) -->
199199
<a :[key]="url"> ... </a>
200200
```
201201

202-
### `v-on` Shorthand
202+
### `v-on` Kısaltması
203203

204204
``` html
205-
<!-- full syntax -->
206-
<a v-on:click="doSomething"> ... </a>
205+
<!-- uzun sentaks -->
206+
<a v-on:click="birSeyYap"> ... </a>
207207
208-
<!-- shorthand -->
209-
<a @click="doSomething"> ... </a>
208+
<!-- kısaltma -->
209+
<a @click="birSeyYap"> ... </a>
210210
211-
<!-- shorthand with dynamic argument (2.6.0+) -->
212-
<a @[event]="doSomething"> ... </a>
211+
<!-- dinamik argümanlı kısatma (2.6.0+) -->
212+
<a @[olay]="birSeyYap"> ... </a>
213213
```
214214

215-
They may look a bit different from normal HTML, but `:` and `@` are valid characters for attribute names and all Vue-supported browsers can parse it correctly. In addition, they do not appear in the final rendered markup. The shorthand syntax is totally optional, but you will likely appreciate it when you learn more about its usage later.
215+
Bu kullanım normal HTML’den biraz farklı görünebilir ama `:` ve `@` karakterleri geçerli nitelik isimleri arasındadır ve Vue’nün desteklendiği tüm tarayıcılar tarafından doğru bir şekilde okunabilir. Ayrıca bunlar ekrana yansıtılan nihai biçimli metin içerisinde görüntülenmez. Kısaltma sentaksı isteğe bağlı olmakla beraber kullanımını daha yakından öğrendikçe hoşunuza gideceğini düşünüyoruz.

0 commit comments

Comments
 (0)