From: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
Date: Fri, 6 Feb 2026 17:23:48 +0000 (+0300)
Subject: 🌐 Update translations for tr (outdated and missing) (#14838)
X-Git-Tag: 0.128.4~10
X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0f5987b560fbf8fac9ed30ed3477f2acc97d9ae9;p=thirdparty%2Ffastapi%2Ffastapi.git
🌐 Update translations for tr (outdated and missing) (#14838)
---
diff --git a/docs/tr/docs/advanced/advanced-dependencies.md b/docs/tr/docs/advanced/advanced-dependencies.md
index 48c0b62111..8afb544bdd 100644
--- a/docs/tr/docs/advanced/advanced-dependencies.md
+++ b/docs/tr/docs/advanced/advanced-dependencies.md
@@ -78,13 +78,13 @@ Bu detaylar, özellikle 0.121.0'dan eski bir FastAPI uygulamanız varsa ve `yiel
### `yield` ve `scope` ile dependency'ler { #dependencies-with-yield-and-scope }
-0.121.0 sürümünde FastAPI, `yield` kullanan dependency'ler için `Depends(scope="function")` desteÄini ekledi.
+0.121.0 sürümünde FastAPI, `Depends(scope="function")` desteÄini ekledi.
`Depends(scope="function")` kullanıldıÄında, `yield` sonrasındaki çıkıŠkodu, *path operation function* biter bitmez, response client'a geri gönderilmeden önce çalıÅtırılır.
`Depends(scope="request")` (varsayılan) kullanıldıÄında ise `yield` sonrasındaki çıkıŠkodu, response gönderildikten sonra çalıÅtırılır.
-Daha fazlasını [Dependencies with `yield` - Early exit and `scope`](../tutorial/dependencies/dependencies-with-yield.md#early-exit-and-scope) dokümantasyonunda okuyabilirsiniz.
+Daha fazlasını [`yield` ile Dependency'ler - Erken çıkıŠve `scope`](../tutorial/dependencies/dependencies-with-yield.md#early-exit-and-scope) dokümantasyonunda okuyabilirsiniz.
### `yield` ve `StreamingResponse` ile dependency'ler, Teknik Detaylar { #dependencies-with-yield-and-streamingresponse-technical-details }
@@ -132,7 +132,7 @@ SQLModel (veya SQLAlchemy) kullanarak bu spesifik senaryoya sahipseniz, session'
Böylece session veritabanı baÄlantısını serbest bırakır ve diÄer request'ler bunu kullanabilir.
-`yield` kullanan bir dependency'den erken çıkıŠgerektiren farklı bir kullanım senaryonuz varsa, lütfen kullanım senaryonuzla birlikte ve `yield` kullanan dependency'ler için erken kapatmadan neden fayda göreceÄinizi açıklayarak bir GitHub Discussion Question oluÅturun.
+`yield` kullanan bir dependency'den erken çıkıŠgerektiren farklı bir kullanım senaryonuz varsa, lütfen kullanım senaryonuzla birlikte ve `yield` kullanan dependency'ler için erken kapatmadan neden fayda göreceÄinizi açıklayarak bir GitHub Discussion Sorusu oluÅturun.
`yield` kullanan dependency'lerde erken kapatma için ikna edici kullanım senaryoları varsa, erken kapatmayı seçmeli (opt-in) hale getiren yeni bir yöntem eklemeyi düÅünebilirim.
@@ -144,7 +144,7 @@ Bu davranıŠ0.110.0 sürümünde deÄiÅtirildi. Amaç, handler olmayan (inter
### Background Tasks ve `yield` ile dependency'ler, Teknik Detaylar { #background-tasks-and-dependencies-with-yield-technical-details }
-FastAPI 0.106.0 öncesinde, `yield` sonrasında exception raise etmek mümkün deÄildi; çünkü `yield` kullanan dependency'lerdeki çıkıŠkodu response gönderildikten *sonra* çalıÅtırılıyordu. Bu nedenle [Exception Handlers](../tutorial/handling-errors.md#install-custom-exception-handlers){.internal-link target=_blank} zaten çalıÅmıŠolurdu.
+FastAPI 0.106.0 öncesinde, `yield` sonrasında exception raise etmek mümkün deÄildi; çünkü `yield` kullanan dependency'lerdeki çıkıŠkodu response gönderildikten *sonra* çalıÅtırılıyordu. Bu nedenle [Exception Handler'ları](../tutorial/handling-errors.md#install-custom-exception-handlers){.internal-link target=_blank} zaten çalıÅmıŠolurdu.
Bu tasarımın ana sebeplerinden biri, background task'lerin içinde dependency'lerin "yield ettiÄi" aynı objeleri kullanmaya izin vermekti; çünkü çıkıŠkodu, background task'ler bittikten sonra çalıÅtırılıyordu.
diff --git a/docs/tr/docs/alternatives.md b/docs/tr/docs/alternatives.md
index 9b603ea817..afc1a45ef5 100644
--- a/docs/tr/docs/alternatives.md
+++ b/docs/tr/docs/alternatives.md
@@ -1,483 +1,483 @@
-# Alternatifler, İlham Kaynakları ve KarÅılaÅtırmalar
+# Alternatifler, İlham Kaynakları ve KarÅılaÅtırmalar { #alternatives-inspiration-and-comparisons }
-**FastAPI**'ya neler ilham verdi? DiÄer alternatiflerle karÅılaÅtırıldıÄında farkları neler? **FastAPI** diÄer alternatiflerinden neler öÄrendi?
+**FastAPI**'a nelerin ilham verdiÄi, alternatiflerle nasıl karÅılaÅtırıldıÄı ve onlardan neler öÄrendiÄi.
-## GiriÅ
+## GiriÅ { #intro }
BaÅkalarının daha önceki çalıÅmaları olmasaydı, **FastAPI** var olmazdı.
-GeçmiÅte oluÅturulan pek çok araç **FastAPI**'a ilham kaynaÄı olmuÅtur.
+Ãnceden oluÅturulan birçok araç, ortaya çıkıÅına ilham verdi.
-Yıllardır yeni bir framework oluÅturmaktan kaçınıyordum. BaÅlangıçta **FastAPI**'ın çözdüÄü sorunları çözebilmek için pek çok farklı framework, eklenti ve araç kullanmayı denedim.
+Yıllarca yeni bir framework oluÅturmaktan kaçındım. Ãnce **FastAPI**âın bugün kapsadıÄı özelliklerin tamamını, birçok farklı framework, eklenti ve araçla çözmeyi denedim.
-Ancak bir noktada, geçmiÅteki diÄer araçlardan en iyi fikirleri alarak bütün bu çözümleri kapsayan, ayrıca bütün bunları Python'ın daha önce mevcut olmayan özelliklerini (Python 3.6+ ile gelen tip belirteçleri) kullanarak yapan bir Åey üretmekten baÅka seçenek kalmamıÅtı.
+Ancak bir noktada, geçmiÅteki araçlardan en iyi fikirleri alıp, mümkün olan en iyi Åekilde birleÅtiren ve daha önce mevcut olmayan dil özelliklerini (Python 3.6+ tip belirteçleri) kullanarak tüm bu özellikleri saÄlayan bir Åey geliÅtirmekten baÅka seçenek kalmadı.
-## Daha Ãnce GeliÅtirilen Araçlar
+## Daha Ãnce GeliÅtirilen Araçlar { #previous-tools }
-### Django
+### Django { #django }
-Django geniŠçapta güvenilen, Python ekosistemindeki en popüler web framework'üdür. Instagram gibi sistemleri geliÅtirmede kullanılmıÅtır.
+Python ekosistemindeki en popüler ve yaygın olarak güvenilen web frameworkâüdür. Instagram gibi sistemleri geliÅtirmede kullanılmıÅtır.
-MySQL ve PostgreSQL gibi iliÅkisel veritabanlarıyla nispeten sıkı bir Åekilde baÄlantılıdır. Bu nedenle Couchbase, MongoDB ve Cassandra gibi NoSQL veritabanlarını ana veritabanı motoru olarak kullanmak pek de kolay deÄil.
+MySQL veya PostgreSQL gibi iliÅkisel veritabanlarıyla nispeten sıkı baÄlıdır, bu nedenle Couchbase, MongoDB, Cassandra vb. gibi bir NoSQL veritabanını ana depolama motoru olarak kullanmak pek kolay deÄildir.
-Modern ön uçlarda (React, Vue.js ve Angular gibi) veya diÄer sistemler (örneÄin nesnelerin interneti cihazları) tarafından kullanılan API'lar yerine arka uçta HTML üretmek için oluÅturuldu.
+Modern bir ön uç (React, Vue.js, Angular gibi) veya onunla haberleÅen diÄer sistemler (ör. IoT cihazları) tarafından tüketilen APIâlar üretmekten ziyade, arka uçta HTML üretmek için oluÅturulmuÅtur.
-### Django REST Framework
+### Django REST Framework { #django-rest-framework }
-Django REST framework'ü, Django'nun API kabiliyetlerini arttırmak için arka planda Django kullanan esnek bir araç grubu olarak oluÅturuldu.
+Django REST Framework, Django üzerine kurulu esnek bir araç takımı olarak, Web APIâlar geliÅtirmeyi ve Djangoânun API kabiliyetlerini artırmayı hedefler.
-Ãstelik Mozilla, Red Hat ve Eventbrite gibi pek çok Åirket tarafından kullanılıyor.
+Mozilla, Red Hat ve Eventbrite gibi birçok Åirket tarafından kullanılmaktadır.
-**Otomatik API dökümantasyonu**nun ilk örneklerinden biri olduÄu için, **FastAPI** arayıÅına ilham veren ilk fikirlerden biri oldu.
+**Otomatik API dökümantasyonu**nun ilk örneklerinden biriydi ve bu, â**FastAPI** arayıÅınaâ ilham veren ilk fikirlerden biriydi.
/// note | Not
-Django REST Framework'ü, aynı zamanda **FastAPI**'ın dayandıÄı Starlette ve Uvicorn'un da yaratıcısı olan Tom Christie tarafından geliÅtirildi.
+Django REST Framework, **FastAPI**'ın üzerine inÅa edildiÄi Starlette ve Uvicorn'un da yaratıcısı olan Tom Christie tarafından geliÅtirildi.
///
-/// check | **FastAPI**'a nasıl ilham verdi?
+/// check | **FastAPI**'a ilham olan
-Kullanıcılar için otomatik API dökümantasyonu sunan bir web arayüzüne sahip olmalı.
+Otomatik API dökümantasyonu saÄlayan bir web arayüzü sunmak.
///
-### Flask
+### Flask { #flask }
-Flask bir mikro framework olduÄundan Django gibi framework'lerin aksine veritabanı entegrasyonu gibi Django ile gelen pek çok özelliÄi direkt barındırmaz.
+Flask bir âmikroframeworkâtür, Djangoâda varsayılan gelen pek çok özelliÄi (veritabanı entegrasyonları vb.) içermez.
-SaÄladıÄı basitlik ve esneklik NoSQL veritabanlarını ana veritabanı sistemi olarak kullanmak gibi Åeyler yapmaya olanak saÄlar.
+Bu basitlik ve esneklik, NoSQL veritabanlarını ana veri depolama sistemi olarak kullanmak gibi Åeyleri mümkün kılar.
-Yapısı oldukça basit olduÄundan öÄrenmesi de nispeten basittir, tabii dökümantasyonu bazı noktalarda biraz teknik hale geliyor.
+Ãok basit olduÄu için öÄrenmesi nispeten sezgiseldir, ancak dökümantasyon bazı noktalarda biraz teknikleÅebilir.
-Ayrıca Django ile birlikte gelen veritabanı, kullanıcı yönetimi ve diÄer pek çok özelliÄe ihtiyaç duymayan uygulamalarda da yaygın olarak kullanılıyor. Ancak bu tür özelliklerin pek çoÄu eklentiler ile eklenebiliyor.
+Ayrıca veritabanı, kullanıcı yönetimi veya Djangoâda önceden gelen pek çok özelliÄe ihtiyaç duymayan uygulamalar için de yaygın olarak kullanılır. Yine de bu özelliklerin çoÄu eklentilerle eklenebilir.
-Uygulama parçalarının böyle ayrılıyor oluÅu ve istenilen özelliklerle geniÅletilebilecek bir mikro framework olmak tam da benim istediÄim bir özellikti.
+BileÅenlerin ayrık olması ve gerekeni tam olarak kapsayacak Åekilde geniÅletilebilen bir âmikroframeworkâ olması, özellikle korumak istediÄim bir özelliktir.
-Flask'ın basitliÄi göz önünde bulundurulduÄu zaman, API geliÅtirmek için iyi bir seçim gibi görünüyordu. Sıradaki Åey ise Flask için bir "Django REST Framework"!
+Flaskâın sadeliÄi göz önüne alındıÄında, API geliÅtirmek için iyi bir aday gibi görünüyordu. Sırada, Flask için bir âDjango REST Frameworkâ bulmak vardı.
-/// check | **FastAPI**'a nasıl ilham verdi?
+/// check | **FastAPI**'a ilham olan
-Gereken araçları ve parçaları birleÅtirip eÅleÅtirmeyi kolaylaÅtıracak bir mikro framework olmalı.
+Gereken araç ve parçaları kolayca eÅleÅtirip birleÅtirmeyi saÄlayan bir mikroframework olmak.
-Basit ve kullanması kolay bir yönlendirme sistemine sahip olmalı.
+Basit ve kullanımı kolay bir yönlendirme (routing) sistemine sahip olmak.
///
-### Requests
+### Requests { #requests }
-**FastAPI** aslında **Requests**'in bir alternatifi deÄil. İkisininde kapsamı oldukça farklı.
+**FastAPI** aslında **Requests**âin bir alternatifi deÄildir. Kapsamları çok farklıdır.
-Aslında Requests'i bir FastAPI uygulamasının *içinde* kullanmak daha olaÄan olurdu.
+Hatta bir FastAPI uygulamasının içinde Requests kullanmak yaygındır.
-Ama yine de, FastAPI, Requests'ten oldukça ilham aldı.
+Yine de FastAPI, Requestsâten epey ilham almıÅtır.
-**Requests**, API'lar ile bir istemci olarak *etkileÅime geçmeyi* saÄlayan bir kütüphaneyken **FastAPI** bir sunucu olarak API'lar oluÅturmaya yarar.
+**Requests** bir kütüphane olarak APIâlarla (istemci olarak) etkileÅime geçmeye yararken, **FastAPI** APIâlar (sunucu olarak) geliÅtirmeye yarar.
-Ãyle ya da böyle zıt uçlarda olmalarına raÄmen birbirlerini tamamlıyorlar.
+Yani daha çok zıt uçlardadırlar ama birbirlerini tamamlarlar.
-Requests oldukça basit ve sezgisel bir tasarıma sahip, kullanması da mantıklı varsayılan deÄerlerle oldukça kolay. Ama aynı zamanda çok güçlü ve gayet özelleÅtirilebilir.
+Requests çok basit ve sezgisel bir tasarıma sahiptir, mantıklı varsayılanlarla kullanımı çok kolaydır. Aynı zamanda çok güçlü ve özelleÅtirilebilirdir.
-Bu yüzden resmi web sitede de söylendiÄi gibi:
+Bu yüzden resmi web sitesinde de söylendiÄi gibi:
-> Requests, tüm zamanların en çok indirilen Python paketlerinden biridir.
+> Requests, tüm zamanların en çok indirilen Python paketlerinden biridir
-Kullanım Åekli oldukça basit. ÃrneÄin bir `GET` isteÄi yapmak için aÅaÄıdaki yeterli:
+Kullanımı çok basittir. ÃrneÄin bir `GET` isteÄi yapmak için:
```Python
response = requests.get("http://example.com/some/url")
```
-Bunun FastAPI'deki API *yol iÅlemi* Åöyle görünür:
+Buna karÅılık bir FastAPI API *path operation*âı Åöyle olabilir:
```Python hl_lines="1"
@app.get("/some/url")
def read_url():
- return {"message": "Hello World!"}
+ return {"message": "Hello World"}
```
`requests.get(...)` ile `@app.get(...)` arasındaki benzerliklere bakın.
-/// check | **FastAPI**'a nasıl ilham verdi?
+/// check | **FastAPI**'a ilham olan
-* Basit ve sezgisel bir API'ya sahip olmalı.
-* HTTP metot isimlerini (iÅlemlerini) anlaÅılır olacak bir Åekilde, direkt kullanmalı.
-* Mantıklı varsayılan deÄerlere ve buna raÄmen güçlü bir özelleÅtirme desteÄine sahip olmalı.
+* Basit ve sezgisel bir APIâya sahip olmak.
+* HTTP metot isimlerini (iÅlemlerini) doÄrudan, anlaÅılır ve sezgisel bir Åekilde kullanmak.
+* Mantıklı varsayılanlara sahip olmak ama güçlü özelleÅtirmeler de sunmak.
///
-### Swagger / OpenAPI
+### Swagger / OpenAPI { #swagger-openapi }
-Benim Django REST Framework'ünden istediÄim ana özellik otomatik API dökümantasyonuydu.
+Django REST Frameworkâünden istediÄim ana özellik otomatik API dökümantasyonuydu.
-Daha sonra API'ları dökümanlamak için Swagger adında JSON (veya JSON'un bir uzantısı olan YAML'ı) kullanan bir standart olduÄunu buldum.
+Sonra APIâları JSON (veya JSONâun bir uzantısı olan YAML) kullanarak dökümante etmek için Swagger adlı bir standart olduÄunu gördüm.
-Ãstelik Swagger API'ları için zaten halihazırda oluÅturulmuÅ bir web arayüzü vardı. Yani, bir API için Swagger dökümantasyonu oluÅturmak bu arayüzü otomatik olarak kullanabilmek demekti.
+Ve Swagger APIâları için zaten oluÅturulmuÅ bir web arayüzü vardı. Yani bir API için Swagger dökümantasyonu üretebilmek, bu web arayüzünü otomatik kullanabilmek demekti.
-Swagger bir noktada Linux Foundation'a verildi ve adı OpenAPI olarak deÄiÅtirildi.
+Bir noktada Swagger, Linux Foundationâa devredildi ve OpenAPI olarak yeniden adlandırıldı.
-İÅte bu yüzden versiyon 2.0 hakkında konuÅurken "Swagger", versiyon 3 ve üzeri için ise "OpenAPI" adını kullanmak daha yaygın.
+Bu yüzden, 2.0 sürümü söz konusu olduÄunda âSwaggerâ, 3+ sürümler için ise âOpenAPIâ denmesi yaygındır.
-/// check | **FastAPI**'a nasıl ilham verdi?
+/// check | **FastAPI**'a ilham olan
-API spesifikasyonları için özel bir Åema yerine bir açık standart benimseyip kullanmalı.
+API spesifikasyonları için özel bir Åema yerine açık bir standart benimsemek ve kullanmak.
-Ayrıca standarda baÄlı kullanıcı arayüzü araçlarını entegre etmeli:
+Ve standartlara dayalı kullanıcı arayüzü araçlarını entegre etmek:
* Swagger UI
* ReDoc
-Yukarıdaki ikisi oldukça popüler ve istikrarlı olduÄu için seçildi, ancak hızlı bir araÅtırma yaparak **FastAPI** ile kullanabileceÄiniz pek çok OpenAPI alternatifi arayüz bulabilirsiniz.
+Bu ikisi oldukça popüler ve istikrarlı oldukları için seçildi; hızlı bir aramayla OpenAPI için onlarca alternatif kullanıcı arayüzü bulabilirsiniz (**FastAPI** ile de kullanabilirsiniz).
///
-### Flask REST framework'leri
+### Flask REST frameworkâleri { #flask-rest-frameworks }
-Pek çok Flask REST framework'ü var, fakat bunları biraz araÅtırdıktan sonra pek çoÄunun artık geliÅtirilmediÄini ve göze batan bazı sorunlarının olduÄunu gördüm.
+Birçok Flask REST frameworkâü var; ancak zaman ayırıp inceledikten sonra çoÄunun artık sürdürülmediÄini veya bazı kritik sorunlar nedeniyle uygun olmadıklarını gördüm.
-### Marshmallow
+### Marshmallow { #marshmallow }
-API sistemlerine gereken ana özelliklerden biri de koddan veriyi alıp aÄ Ã¼zerinde gönderilebilecek bir Åeye çevirmek, yani veri dönüÅümü. Bu iÅleme veritabanındaki veriyi içeren bir objeyi JSON objesine çevirmek, `datetime` objelerini metinlere çevirmek gibi örnekler verilebilir.
+API sistemlerinin ihtiyaç duyduÄu temel özelliklerden biri, koddan (Python) veriyi alıp aÄ Ã¼zerinden gönderilebilecek bir Åeye dönüÅtürmek, yani veri âdönüÅümâüdür. ÃrneÄin, bir veritabanından gelen verileri içeren bir objeyi JSON objesine dönüÅtürmek, `datetime` objelerini stringâe çevirmek vb.
-API'lara gereken bir diÄer büyük özellik ise veri doÄrulamadır, yani verinin çeÅitli parametrelere baÄlı olarak doÄru ve tutarlı olduÄundan emin olmaktır. ÃrneÄin bir alanın `int` olmasına karar verdiniz, daha sonra rastgele bir metin deÄeri almasını istemezsiniz. Bu özellikle sisteme dıÅarıdan gelen veri için kullanıÅlı bir özellik oluyor.
+APIâların ihtiyaç duyduÄu bir diÄer önemli özellik, veri doÄrulamadır; belirli parametreler göz önüne alındıÄında verinin geçerli olduÄundan emin olmak. ÃrneÄin, bir alanın `int` olması ve rastgele bir metin olmaması. Bu özellikle dıÅarıdan gelen veriler için kullanıÅlıdır.
-Bir veri doÄrulama sistemi olmazsa bütün bu kontrolleri koda dökerek kendiniz yapmak zorunda kalırdınız.
+Bir veri doÄrulama sistemi olmadan, tüm bu kontrolleri kod içinde el ile yapmanız gerekir.
-Marshmallow bu özellikleri saÄlamak için geliÅtirilmiÅti. Benim de geçmiÅte oldukça sık kullandıÄım harika bir kütüphanedir.
+Marshmallow, bu özellikleri saÄlamak için inÅa edildi. Harika bir kütüphanedir ve geçmiÅte çok kullandım.
-Ama... Python'un tip belirteçleri gelmeden önce oluÅturulmuÅtu. Yani her Åemayı tanımlamak için Marshmallow'un sunduÄu spesifik araçları ve sınıfları kullanmanız gerekiyordu.
+Ancak Python tip belirteçlerinden önce yazılmıÅtır. Dolayısıyla her Åemayı tanımlamak için Marshmallowâun saÄladıÄı belirli yardımcılar ve sınıflar kullanılır.
-/// check | **FastAPI**'a nasıl ilham verdi?
+/// check | **FastAPI**'a ilham olan
-Kod kullanarak otomatik olarak veri tipini ve veri doÄrulamayı belirten "Åemalar" tanımlamalı.
+Kodla, veri tiplerini ve doÄrulamayı otomatik saÄlayan âÅemalarâ tanımlamak.
///
-### Webargs
+### Webargs { #webargs }
-API'ların ihtiyacı olan bir diÄer önemli özellik ise gelen isteklerdeki verileri Python objelerine ayrıÅtırabilmektir.
+APIâların ihtiyaç duyduÄu bir diÄer büyük özellik, gelen isteklerden veriyi ayrıÅtırmadır.
-Webargs, Flask gibi bir kaç framework'ün üzerinde bunu saÄlamak için geliÅtirilen bir araçtır.
+Webargs, Flask dahil birkaç frameworkâün üzerinde bunu saÄlamak için geliÅtirilmiÅ bir araçtır.
-Veri doÄrulama için arka planda Marshmallow kullanıyor, hatta aynı geliÅtiriciler tarafından oluÅturuldu.
+Veri doÄrulama için arka planda Marshmallowâu kullanır. Aynı geliÅtiriciler tarafından yazılmıÅtır.
-Webargs da harika bir araç ve onu da geçmiÅte henüz **FastAPI** yokken çok kullandım.
+**FastAPI**âdan önce benim de çok kullandıÄım harika bir araçtır.
/// info | Bilgi
-Webargs aynı Marshmallow geliÅtirileri tarafından oluÅturuldu.
+Webargs, Marshmallow geliÅtiricileri tarafından oluÅturuldu.
///
-/// check | **FastAPI**'a nasıl ilham verdi?
+/// check | **FastAPI**'a ilham olan
-Gelen istek verisi için otomatik veri doÄrulamaya sahip olmalı.
+Gelen istek verisini otomatik doÄrulamak.
///
-### APISpec
+### APISpec { #apispec }
-Marshmallow ve Webargs eklentiler olarak; veri doÄrulama, ayrıÅtırma ve dönüÅtürmeyi saÄlıyor.
+Marshmallow ve Webargs; doÄrulama, ayrıÅtırma ve dönüÅümü eklenti olarak saÄlar.
-Ancak dökümantasyondan hala ses seda yok. Daha sonrasında ise APISpec geldi.
+Ama dökümantasyon eksikti. Sonra APISpec geliÅtirildi.
-APISpec pek çok framework için bir eklenti olarak kullanılıyor (Starlette için de bir eklentisi var).
+Birçok framework için bir eklentidir (Starlette için de bir eklenti vardır).
-Åemanın tanımını yol'a istek geldiÄinde çalıÅan her bir fonksiyonun döküman dizesinin içine YAML formatında olacak Åekilde yazıyorsunuz o da OpenAPI Åemaları üretiyor.
+ÃalıÅma Åekli: Her bir routeâu iÅleyen fonksiyonun docstringâi içine YAML formatında Åema tanımı yazarsınız.
-Flask, Starlette, Responder ve benzerlerinde bu Åekilde çalıÅıyor.
+Ve OpenAPI Åemaları üretir.
-Fakat sonrasında yine mikro sözdizimi problemiyle karÅılaÅıyoruz. Python metinlerinin içinde koskoca bir YAML oluyor.
+Flask, Starlette, Responder vb. için çalıÅma Åekli böyledir.
-Editör bu konuda pek yardımcı olamaz. Ãstelik eÄer parametreleri ya da Marshmallow Åemalarını deÄiÅtirip YAML kodunu güncellemeyi unutursak artık döküman geçerliliÄini yitiriyor.
+Ancak yine, Python metni içinde (kocaman bir YAML) mikro bir söz dizimi sorunu ortaya çıkar.
+
+Editör bu konuda pek yardımcı olamaz. Parametreleri veya Marshmallow Åemalarını deÄiÅtirip docstringâteki YAMLâı güncellemeyi unutursak, üretilen Åema geçerliliÄini yitirir.
/// info | Bilgi
-APISpec de aynı Marshmallow geliÅtiricileri tarafından oluÅturuldu.
+APISpec, Marshmallow geliÅtiricileri tarafından oluÅturuldu.
///
-/// check | **FastAPI**'a nasıl ilham verdi?
+/// check | **FastAPI**'a ilham olan
-API'lar için açık standart desteÄi olmalı (OpenAPI gibi).
+APIâlar için açık standart olan OpenAPIâı desteklemek.
///
-### Flask-apispec
+### Flask-apispec { #flask-apispec }
-Flask-apispec ise Webargs, Marshmallow ve APISpec'i birbirine baÄlayan bir Flask eklentisi.
+Webargs, Marshmallow ve APISpecâi bir araya getiren bir Flask eklentisidir.
-Webargs ve Marshmallow'daki bilgiyi APISpec ile otomatik OpenAPI Åemaları üretmek için kullanıyor.
+Webargs ve Marshmallowâdan aldıÄı bilgiyi kullanarak, APISpec ile otomatik OpenAPI Åemaları üretir.
-Hak ettiÄi deÄeri görmeyen, harika bir araç. Piyasadaki çoÄu Flask eklentisinden çok daha popüler olmalı. Hak ettiÄi deÄeri görmüyor oluÅunun sebebi ise dökümantasyonun çok kısa ve soyut olması olabilir.
+Harika ama yeterince deÄer görmeyen bir araçtır. Mevcut birçok Flask eklentisinden çok daha popüler olmalıydı. Muhtemelen dökümantasyonunun fazla kısa ve soyut olmasından kaynaklanıyor olabilir.
-Böylece Flask-apispec, Python döküman dizilerine YAML gibi farklı bir syntax yazma sorununu çözmüŠoldu.
+Python docstringâleri içine YAML (farklı bir söz dizimi) yazma ihtiyacını ortadan kaldırdı.
-**FastAPI**'ı geliÅtirene dek benim favori arka uç kombinasyonum Flask'in yanında Marshmallow ve Webargs ile birlikte Flask-apispec idi.
+**FastAPI**âyı inÅa edene kadar, Flask + Flask-apispec + Marshmallow + Webargs kombinasyonu benim favori arka uç stackâimdi.
-Bunu kullanmak, bir kaç full-stack Flask projesi oluÅturucusunun yaratılmasına yol açtı. Bunlar benim (ve bir kaç harici ekibin de) Åimdiye kadar kullandıÄı asıl stackler:
+Bunu kullanmak, birkaç Flask fullâstack üreticisinin ortaya çıkmasına yol açtı. Åu ana kadar benim (ve birkaç harici ekibin) kullandıÄı ana stackâler:
* https://github.com/tiangolo/full-stack
* https://github.com/tiangolo/full-stack-flask-couchbase
* https://github.com/tiangolo/full-stack-flask-couchdb
-Aynı full-stack üreticiler [**FastAPI** Proje Ãreticileri](project-generation.md){.internal-link target=_blank}'nin de temelini oluÅturdu.
+Aynı fullâstack üreticiler, [**FastAPI** Proje Ãreticileri](project-generation.md){.internal-link target=_blank}ânin de temelini oluÅturdu.
/// info | Bilgi
-Flask-apispec de aynı Marshmallow geliÅtiricileri tarafından üretildi.
+Flask-apispec, Marshmallow geliÅtiricileri tarafından oluÅturuldu.
///
-/// check | **FastAPI**'a nasıl ilham oldu?
+/// check | **FastAPI**'a ilham olan
-Veri dönüÅümü ve veri doÄrulamayı tanımlayan kodu kullanarak otomatik olarak OpenAPI Åeması oluÅturmalı.
+Veri dönüÅümü ve doÄrulamayı tanımlayan aynı koddan, OpenAPI Åemasını otomatik üretmek.
///
-### NestJS (and Angular)
+### NestJS (ve Angular) { #nestjs-and-angular }
-Bu Python teknolojisi bile deÄil. NestJS, Angulardan ilham almıŠolan bir JavaScript (TypeScript) NodeJS framework'ü.
+Bu Python bile deÄil; NestJS, Angularâdan ilham alan bir JavaScript (TypeScript) NodeJS frameworkâüdür.
-Flask-apispec ile yapılabileceklere nispeten benzeyen bir Åey elde ediyor.
+Flask-apispec ile yapılabilene kısmen benzer bir Åey baÅarır.
-Angular 2'den ilham alan, içine gömülü bir baÄımlılık enjeksiyonu sistemi var. BildiÄim diÄer tüm baÄımlılık enjeksiyonu sistemlerinde olduÄu gibi"baÄımlılık"ları önceden kaydetmenizi gerektiriyor. Böylece projeyi daha detaylı hale getiriyor ve kod tekrarını da arttırıyor.
+Angular 2âden esinlenen, entegre bir baÄımlılık enjeksiyonu sistemi vardır. âInjectableâları önceden kaydetmeyi gerektirir (bildiÄim diÄer baÄımlılık enjeksiyonu sistemlerinde olduÄu gibi), bu da ayrıntıyı ve kod tekrarını artırır.
-Parametreler TypeScript tipleri (Python tip belirteçlerine benzer) ile açıklandıÄından editör desteÄi oldukça iyi.
+Parametreler TypeScript tipleriyle (Python tip belirteçlerine benzer) açıklandıÄından, editör desteÄi oldukça iyidir.
-Ama TypeScript verileri kod JavaScript'e derlendikten sonra korunmadıÄından, bunlara dayanarak aynı anda veri doÄrulaması, veri dönüÅümü ve dökümantasyon tanımlanamıyor. Bundan ve bazı tasarım tercihlerinden dolayı veri doÄrulaması, dönüÅümü ve otomatik Åema üretimi için pek çok yere dekorator eklemek gerekiyor. Bu da projeyi oldukça detaylandırıyor.
+Ancak TypeScript tip bilgisi JavaScriptâe derlemeden sonra korunmadıÄından, aynı anda tiplere dayanarak doÄrulama, dönüÅüm ve dökümantasyon tanımlanamaz. Bu ve bazı tasarım kararları nedeniyle doÄrulama, dönüÅüm ve otomatik Åema üretimi için birçok yere dekoratör eklemek gerekir; proje oldukça ayrıntılı hâle gelir.
-İç içe geçen derin modelleri pek iyi iÅleyemiyor. Yani eÄer istekteki JSON gövdesi derin bir JSON objesiyse düzgün bir Åekilde dökümante edilip doÄrulanamıyor.
+İçiçe modelleri çok iyi iÅleyemez. Yani istek gövdesindeki JSON, içinde baÅka alanları ve onlar da içiçe JSON objelerini içeriyorsa, doÄru Åekilde dökümante edilip doÄrulanamaz.
-/// check | **FastAPI**'a nasıl ilham oldu?
+/// check | **FastAPI**'a ilham olan
-Güzel bir editör desteÄi için Python tiplerini kullanmalı.
+Harika editör desteÄi için Python tiplerini kullanmak.
-Güçlü bir baÄımlılık enjeksiyon sistemine sahip olmalı. Kod tekrarını minimuma indirecek bir yol bulmalı.
+Güçlü bir baÄımlılık enjeksiyonu sistemine sahip olmak. Kod tekrarını en aza indirmenin bir yolunu bulmak.
///
-### Sanic
+### Sanic { #sanic }
-Sanic, `asyncio`'ya dayanan son derece hızlı Python kütüphanelerinden biriydi. Flask'a epey benzeyecek Åekilde geliÅtirilmiÅti.
+`asyncio` tabanlı, son derece hızlı ilk Python frameworkâlerinden biriydi. Flaskâa oldukça benzer olacak Åekilde geliÅtirilmiÅti.
-/// note | Teknik detaylar
+/// note | Teknik Detaylar
-İçerisinde standart Python `asyncio` döngüsü yerine `uvloop` kullanıldı. Hızının asıl kaynaÄı buydu.
+Varsayılan Python `asyncio` döngüsü yerine `uvloop` kullanır; hızını esasen bu saÄlar.
-Uvicorn ve Starlette'e ilham kaynaÄı olduÄu oldukça açık, Åu anda ikisi de açık karÅılaÅtırmalarda Sanicten daha hızlı gözüküyor.
+Açık kıyaslamalarda, bugün Uvicorn ve Starletteâin Sanicâten daha hızlı olduÄu görülür; Sanic bu ikisine ilham vermiÅtir.
///
-/// check | **FastAPI**'a nasıl ilham oldu?
+/// check | **FastAPI**'a ilham olan
-Uçuk performans saÄlayacak bir yol bulmalı.
+Ãok yüksek performans elde etmenin bir yolunu bulmak.
-Tam da bu yüzden **FastAPI** Starlette'e dayanıyor, çünkü Starlette Åu anda kullanılabilir en hızlı framework. (üçüncü parti karÅılaÅtırmalı testlerine göre)
+Bu yüzden **FastAPI**, en hızlı framework olduÄu için (üçüncü parti kıyaslamalara göre) Starlette üzerine kuruludur.
///
-### Falcon
-
-Falcon ise bir diÄer yüksek performanslı Python framework'ü. Minimal olacak Åekilde Hug gibi diÄer framework'lerin temeli olabilmek için tasarlandı.
+### Falcon { #falcon }
-İki parametre kabul eden fonksiyonlar Åeklinde tasarlandı, biri "istek" ve diÄeri ise "cevap". Sonra isteÄin çeÅitli kısımlarını **okuyor**, cevaba ise bir Åeyler **yazıyorsunuz**. Bu tasarımdan dolayı istek parametrelerini ve gövdelerini standart Python tip belirteçlerini kullanarak fonksiyon parametreleriyle belirtmek mümkün deÄil.
+Falcon, baÅka bir yüksek performanslı Python frameworkâüdür; minimal olacak Åekilde tasarlanmıŠve Hug gibi diÄer frameworkâlere temel olmuÅtur.
-Yani veri doÄrulama, veri dönüÅtürme ve dökümantasyonun hepsi kodda yer almalı, otomatik halledemiyoruz. Ya da Falcon üzerine bir framework olarak uygulanmaları gerekiyor, aynı Hug'da olduÄu gibi. Bu ayrım Falcon'un tasarımından esinlenen, istek ve cevap objelerini parametre olarak iÅleyen diÄer kütüphanelerde de yer alıyor.
+İki parametre alan fonksiyonlar etrafında tasarlanmıÅtır: ârequestâ ve âresponseâ. İstekten parçalar âokurâ, cevaba parçalar âyazarsınızâ. Bu tasarım nedeniyle, fonksiyon parametreleriyle standart Python tip belirteçlerini kullanarak istek parametrelerini ve gövdelerini ilan etmek mümkün deÄildir.
-/// check | **FastAPI**'a nasıl ilham oldu?
+Dolayısıyla veri doÄrulama, dönüÅüm ve dökümantasyon kodda yapılmalı; otomatik olmaz. Ya da Hugâda olduÄu gibi Falconâun üzerine bir framework olarak uygulanmalıdır. Falconâun tasarımından etkilenen ve tek bir request objesi ile response objesini parametre olarak alan diÄer frameworkâlerde de aynı ayrım vardır.
-Harika bir performans'a sahip olmanın yollarını bulmalı.
+/// check | **FastAPI**'a ilham olan
-Hug ile birlikte (Hug zaten Falcon'a dayandıÄından) **FastAPI**'ın fonksiyonlarda `cevap` parametresi belirtmesinde ilham kaynaÄı oldu.
+Harika performans elde etmenin yollarını bulmak.
-FastAPI'da opsiyonel olmasına raÄmen, daha çok header'lar, çerezler ve alternatif durum kodları belirlemede kullanılıyor.
+Hug ile birlikte (Hug, Falconâa dayanır) **FastAPI**âda fonksiyonlarda opsiyonel bir `response` parametresi ilan edilmesi fikrine ilham vermek. FastAPIâda bu parametre çoÄunlukla header, cookie ve alternatif durum kodlarını ayarlamak için kullanılır.
///
-### Molten
+### Molten { #molten }
-**FastAPI**'ı geliÅtirmenin ilk aÅamalarında Molten'ı keÅfettim. Pek çok ortak fikrimiz vardı:
+**FastAPI**âı geliÅtirmenin ilk aÅamalarında Moltenâı keÅfettim. Oldukça benzer fikirleri vardı:
-* Python'daki tip belirteçlerini baz alıyordu.
-* Bunlara baÄlı olarak veri doÄrulaması ve dökümantasyon saÄlıyordu.
-* Bir baÄımlılık enjeksiyonu sistemi vardı.
+* Python tip belirteçlerine dayanır.
+* Bu tiplere baÄlı doÄrulama ve dökümantasyon saÄlar.
+* BaÄımlılık enjeksiyonu sistemi vardır.
-Veri doÄrulama, veri dönüÅtürme ve dökümantasyon için Pydantic gibi bir üçüncü parti kütüphane kullanmıyor, kendi içerisinde bunlara sahip. Yani bu veri tipi tanımlarını tekrar kullanmak pek de kolay deÄil.
+Pydantic gibi doÄrulama, dönüÅüm ve dökümantasyon için üçüncü parti bir kütüphane kullanmaz; kendi içinde saÄlar. Bu yüzden bu veri tipi tanımlarını tekrar kullanmak o kadar kolay olmaz.
-Biraz daha detaylı ayarlamalara gerek duyuyor. Ayrıca ASGI yerine WSGI'a dayanıyor. Yani Uvicorn, Starlette ve Sanic gibi araçların yüksek performansından faydalanacak Åekilde tasarlanmamıÅ.
+Biraz daha ayrıntılı yapılandırma ister. Ve ASGI yerine WSGI tabanlı olduÄundan, Uvicorn, Starlette ve Sanic gibi araçların yüksek performansından faydalanmaya yönelik tasarlanmamıÅtır.
-BaÄımlılık enjeksiyonu sistemi baÄımlılıkların önceden kaydedilmesini ve sonrasında belirlenen veri tiplerine göre çözülmesini gerektiriyor. Yani spesifik bir tip, birden fazla bileÅen ile belirlenemiyor.
+BaÄımlılık enjeksiyonu sistemi, baÄımlılıkların önceden kaydedilmesini ve tiplerine göre çözülmesini gerektirir. Yani belirli bir tipi saÄlayan birden fazla âbileÅenâ tanımlanamaz.
-Yol'lar fonksiyonun üstünde endpoint'i iÅleyen dekoratörler yerine farklı yerlerde tanımlanan fonksiyonlarla belirlenir. Bu Flask (ve Starlette) yerine daha çok Django'nun yaklaÅımına daha yakın bir metot. Bu, kodda nispeten birbiriyle sıkı iliÅkili olan Åeyleri ayırmaya sebep oluyor.
+Routeâlar, endpointâi iÅleyen fonksiyonun üstüne konan dekoratörlerle deÄil, tek bir yerde, farklı yerlerde tanımlanmıŠfonksiyonlar kullanılarak ilan edilir. Bu yaklaÅım, Flask (ve Starlette) yerine Djangoâya daha yakındır; kodda aslında birbirine sıkı baÄlı olan Åeyleri ayırır.
-/// check | **FastAPI**'a nasıl ilham oldu?
+/// check | **FastAPI**'a ilham olan
-Model özelliklerinin "standart" deÄerlerini kullanarak veri tipleri için ekstra veri doÄrulama koÅulları tanımlamalı. Bu editör desteÄini geliÅtiriyor ve daha önceden Pydantic'te yoktu.
+Model özelliklerinin âvarsayılanâ deÄerlerini kullanarak veri tiplerine ekstra doÄrulamalar tanımlamak. Bu, editör desteÄini iyileÅtirir ve Pydanticâte daha önce yoktu.
-Bu aslında Pydantic'in de aynı doÄrulama stiline geçmesinde ilham kaynaÄı oldu. Åu anda bütün bu özellikler Pydantic'in yapısında yer alıyor.
+Bu yaklaÅım, Pydanticâte de aynı doÄrulama beyan stilinin desteklenmesine ilham verdi (bu iÅlevselliklerin tamamı artık Pydanticâte mevcut).
///
-### Hug
+### Hug { #hug }
-Hug, Python tip belirteçlerini kullanarak API parametrelerinin tipini belirlemeyi uygulayan ilk framework'lerdendi. Bu, diÄer araçlara da ilham kaynaÄı olan harika bir fikirdi.
+Hug, Python tip belirteçlerini kullanarak API parametre tiplerini ilan etmeyi uygulayan ilk frameworkâlerden biriydi. DiÄer araçlara da ilham veren harika bir fikirdi.
-Tip belirlerken standart Python veri tipleri yerine kendi özel tiplerini kullandı, yine de bu ileriye dönük devasa bir adımdı.
+Standart Python tipleri yerine kendi özel tiplerini kullansa da büyük bir adımdı.
-Hug ayrıca tüm API'ı JSON ile ifade eden özel bir Åema oluÅturan ilk framework'lerdendir.
+JSON ile tüm APIâı beyan eden özel bir Åema üreten ilk frameworkâlerden biriydi.
-OpenAPI veya JSON Åeması gibi bir standarda baÄlı deÄildi. Yani Swagger UI gibi diÄer araçlarla entegre etmek kolay olmazdı. Ama yine de, bu oldukça yenilikçi bir fikirdi.
+OpenAPI veya JSON Schema gibi bir standarda dayanmadıÄı için Swagger UI gibi diÄer araçlarla doÄrudan entegre edilemezdi. Yine de oldukça yenilikçiydi.
-Ayrıca ilginç ve çok rastlanmayan bir özelliÄi vardı: aynı framework'ü kullanarak hem API'lar hem de CLI'lar oluÅturmak mümkündü.
+Nadir bir özelliÄi daha vardı: aynı framework ile hem APIâlar hem de CLIâlar oluÅturmak mümkündü.
-Senkron çalıÅan Python web framework'lerinin standardına (WSGI) dayandıÄından dolayı Websocket'leri ve diÄer Åeyleri iÅleyemiyor, ancak yine de yüksek performansa sahip.
+Senkron Python web frameworkâleri için önceki standart olan WSGIâye dayandıÄından, WebSocket vb. Åeyleri iÅleyemez, ancak yine de yüksek performansa sahiptir.
/// info | Bilgi
-Hug, Python dosyalarında bulunan dahil etme satırlarını otomatik olarak sıralayan harika bir araç olan `isort`'un geliÅtiricisi Timothy Crosley tarafından geliÅtirildi.
+Hug, Python dosyalarındaki importâları otomatik sıralayan harika bir araç olan `isort`âun geliÅtiricisi Timothy Crosley tarafından geliÅtirildi.
///
-/// check | **FastAPI**'a nasıl ilham oldu?
+/// check | **FastAPI**'a ilham olan fikirler
-Hug, APIStar'ın çeÅitli kısımlarında esin kaynaÄı oldu ve APIStar'la birlikte en umut verici bulduÄum araçlardan biriydi.
+Hug, APIStarâın bazı kısımlarına ilham verdi ve APIStar ile birlikte en umut verici bulduÄum araçlardandı.
-**FastAPI**, Python tip belirteçlerini kullanarak parametre belirlemede ve API'ı otomatık tanımlayan bir Åema üretmede de Hug'a esinlendi.
+**FastAPI**, parametreleri ilan etmek ve APIâı otomatik tanımlayan bir Åema üretmek için Python tip belirteçlerini kullanma fikrini Hugâdan ilhamla benimsedi.
-**FastAPI**'ın header ve çerez tanımlamak için fonksiyonlarda `response` parametresini belirtmesinde de Hug'dan ilham alındı.
+Ayrıca header ve cookie ayarlamak için fonksiyonlarda `response` parametresi ilan etme fikrine de Hug ilham verdi.
///
-### APIStar (<= 0.5)
+### APIStar (<= 0.5) { #apistar-0-5 }
-**FastAPI**'ı geliÅtirmeye baÅlamadan hemen önce **APIStar** sunucusunu buldum. Benim aradıÄım Åeylerin neredeyse hepsine sahipti ve harika bir tasarımı vardı.
+**FastAPI**âyi inÅa etmeye karar vermeden hemen önce **APIStar** sunucusunu buldum. AradıÄım Åeylerin neredeyse hepsine sahipti ve harika bir tasarımı vardı.
-Benim Åimdiye kadar gördüÄüm Python tip belirteçlerini kullanarak parametre ve istekler belirlemeyi uygulayan ilk framework'lerdendi (Molten ve NestJS'den önce). APIStar'ı da aÅaÄı yukarı Hug ile aynı zamanlarda buldum. Fakat APIStar OpenAPI standardını kullanıyordu.
+Python tip belirteçleriyle parametreleri ve istekleri ilan eden bir frameworkâün gördüÄüm ilk örneklerindendi (NestJS ve Moltenâdan önce). AÅaÄı yukarı Hug ile aynı zamanlarda buldum; ancak APIStar, OpenAPI standardını kullanıyordu.
-Farklı yerlerdeki tip belirteçlerine baÄlı olarak otomatik veri doÄrulama, veri dönüÅtürme ve OpenAPI Åeması oluÅturma desteÄi sunuyordu.
+Farklı yerlerdeki aynı tip belirteçlerine dayanarak otomatik veri doÄrulama, veri dönüÅümü ve OpenAPI Åeması üretimi vardı.
-Gövde Åema tanımları Pydantic ile aynı Python tip belirteçlerini kullanmıyordu, biraz daha Marsmallow'a benziyordu. Dolayısıyla editör desteÄi de o kadar iyi olmazdı ama APIStar eldeki en iyi seçenekti.
+Gövde Åema tanımları Pydanticâtekiyle aynı Python tip belirteçlerini kullanmıyordu; biraz daha Marshmallowâa benziyordu. Bu yüzden editör desteÄi o kadar iyi olmazdı; yine de APIStar mevcut en iyi seçenekti.
-O dönemlerde karÅılaÅtırmalarda en iyi performansa sahipti (yalnızca Starlette'e kaybediyordu).
+O dönem kıyaslamalarda en iyi performansa sahipti (sadece Starlette tarafından geçiliyordu).
-BaÅlangıçta otomatik API dökümantasyonu sunan bir web arayüzü yoktu, ama ben ona Swagger UI ekleyebileceÄimi biliyordum.
+BaÅta otomatik API dökümantasyonu sunan bir web arayüzü yoktu ama Swagger UI ekleyebileceÄimi biliyordum.
-BaÄımlılık enjeksiyon sistemi vardı. Yukarıda bahsettiÄim diÄer araçlar gibi bundaki sistem de bileÅenlerin önceden kaydedilmesini gerektiriyordu. Yine de harika bir özellikti.
+BaÄımlılık enjeksiyonu sistemi vardı. DiÄer araçlarda olduÄu gibi bileÅenlerin önceden kaydedilmesini gerektiriyordu. Yine de harika bir özellikti.
-Güvenlik entegrasyonu olmadıÄından dolayı APIStar'ı hiç bir zaman tam bir projede kullanamadım. Bu yüzden Flask-apispec'e baÄlı full-stack proje üreticilerde sahip olduÄum özellikleri tamamen deÄiÅtiremedim. Bu güvenlik entegrasyonunu ekleyen bir PR oluÅturmak da projelerim arasında yer alıyordu.
+Güvenlik entegrasyonu olmadıÄından tam bir projede kullanamadım; bu yüzden Flask-apispec tabanlı fullâstack üreticilerle sahip olduÄum özelliklerin tamamını ikame edemedim. Bu iÅlevi ekleyen bir pull requestâi yapılacaklar listeme almıÅtım.
-Sonrasında ise projenin odaÄı deÄiÅti.
+Sonra projenin odaÄı deÄiÅti.
-GeliÅtiricinin Starlette'e odaklanması gerekince proje de artık bir API web framework'ü olmayı bıraktı.
+Artık bir API web frameworkâü deÄildi; geliÅtirici Starletteâe odaklanmak zorundaydı.
-Artık APIStar, OpenAPI özelliklerini doÄrulamak için bir dizi araç sunan bir proje haline geldi.
+Åimdi APIStar, bir web frameworkâü deÄil, OpenAPI spesifikasyonlarını doÄrulamak için araçlar takımından ibaret.
/// info | Bilgi
-APIStar, aÅaÄıdaki projeleri de üreten Tom Christie tarafından geliÅtirildi:
+APIStar, aÅaÄıdakilerin de yaratıcısı olan Tom Christie tarafından geliÅtirildi:
* Django REST Framework
-* **FastAPI**'ın da dayandıÄı Starlette
-* Starlette ve **FastAPI** tarafından da kullanılan Uvicorn
+* **FastAPI**âın üzerine kurulu Starlette
+* Starlette ve **FastAPI** tarafından kullanılan Uvicorn
///
-/// check | **FastAPI**'a nasıl ilham oldu?
+/// check | **FastAPI**'a ilham olan
-Var oldu.
+Var olmak.
-Aynı Python veri tipleriyle birden fazla Åeyi belirleme (veri doÄrulama, veri dönüÅtürme ve dökümantasyon), bir yandan da harika bir editör desteÄi sunma, benim muhteÅem bulduÄum bir fikirdi.
+Aynı Python tipleriyle (hem veri doÄrulama, dönüÅüm ve dökümantasyon) birden çok Åeyi ilan etmek ve aynı anda harika editör desteÄi saÄlamak, bence dahiyane bir fikirdi.
-Uzunca bir süre boyunca benzer bir framework arayıp pek çok farklı alternatifi denedikten sonra, APIStar en iyi seçenekti.
+Uzun süre benzer bir framework arayıp birçok alternatifi denedikten sonra, APIStar mevcut en iyi seçenekti.
-Sonra APIStar bir sunucu olmayı bıraktı ve Starlette oluÅturuldu. Starlette, böyle bir sunucu sistemi için daha iyi bir temel sunuyordu. Bu da **FastAPI**'ın son esin kaynaÄıydı.
+Sonra APIStar bir sunucu olarak var olmaktan çıktı ve Starlette oluÅturuldu; böyle bir sistem için daha iyi bir temel oldu. Bu, **FastAPI**âyi inÅa etmek için son ilhamdı.
-Ben bu önceki araçlardan öÄrendiklerime dayanarak **FastAPI**'ın özelliklerini arttırıp geliÅtiriyor, tip desteÄi sistemi ve diÄer kısımları iyileÅtiriyorum ancak yine de **FastAPI**'ı APIStar'ın "ruhani varisi" olarak görüyorum.
+Ãnceki bu araçlardan edinilen deneyimler üzerine özellikleri, tip sistemi ve diÄer kısımları geliÅtirip artırırken, **FastAPI**âyi APIStarâın âruhani varisiâ olarak görüyorum.
///
-## **FastAPI** Tarafından Kullanılanlar
+## **FastAPI** Tarafından Kullanılanlar { #used-by-fastapi }
-### Pydantic
+### Pydantic { #pydantic }
-Pydantic Python tip belirteçlerine dayanan; veri doÄrulama, veri dönüÅtürme ve dökümantasyon tanımlamak (JSON Åema kullanarak) için bir kütüphanedir.
+Pydantic, Python tip belirteçlerine dayalı olarak veri doÄrulama, dönüÅüm ve dökümantasyon (JSON Schema kullanarak) tanımlamak için bir kütüphanedir.
-Tip belirteçleri kullanıyor olması onu aÅırı sezgisel yapıyor.
+Bu onu aÅırı sezgisel kılar.
-Marshmallow ile karÅılaÅtırılabilir. Ancak karÅılaÅtırmalarda Marshmallowdan daha hızlı görünüyor. Aynı Python tip belirteçlerine dayanıyor ve editör desteÄi de harika.
+Marshmallow ile karÅılaÅtırılabilir. Kıyaslamalarda Marshmallowâdan daha hızlıdır. Aynı Python tip belirteçlerine dayandıÄı için editör desteÄi harikadır.
-/// check | **FastAPI** nerede kullanıyor?
+/// check | **FastAPI** bunu Åurada kullanır
-Bütün veri doÄrulama, veri dönüÅtürme ve JSON Åemasına baÄlı otomatik model dökümantasyonunu halletmek için!
+Tüm veri doÄrulama, veri dönüÅümü ve JSON Schema tabanlı otomatik model dökümantasyonunu halletmekte.
-**FastAPI** yaptıÄı her Åeyin yanı sıra bu JSON Åema verisini alıp daha sonra OpenAPI'ya yerleÅtiriyor.
+**FastAPI** daha sonra bu JSON Schema verisini alır ve (yaptıÄı diÄer Åeylerin yanı sıra) OpenAPI içine yerleÅtirir.
///
-### Starlette
+### Starlette { #starlette }
-Starlette hafif bir ASGI framework'ü ve yüksek performanslı asyncio servisleri oluÅturmak için ideal.
+Starlette, yüksek performanslı asyncio servisleri oluÅturmak için ideal, hafif bir ASGI frameworkâü/araç takımıdır.
-Kullanımı çok kolay ve sezgisel, kolaylıkla geniÅletilebilecek ve modüler bileÅenlere sahip olacak Åekilde tasarlandı.
+Ãok basit ve sezgiseldir. Kolayca geniÅletilebilir ve modüler bileÅenlere sahip olacak Åekilde tasarlanmıÅtır.
-Sahip olduÄu bir kaç özellik:
+Åunlara sahiptir:
-* Cidden etkileyici bir performans.
+* Cidden etkileyici performans.
* WebSocket desteÄi.
-* İÅlem-içi arka plan görevleri.
+* Süreç içi arka plan görevleri.
* BaÅlatma ve kapatma olayları.
-* HTTPX ile geliÅtirilmiÅ bir test istemcisi.
-* CORS, GZip, Static Files ve Streaming cevapları desteÄi.
-* Session ve çerez desteÄi.
-* Kodun %100'ü test kapsamında.
-* Kodun %100'ü tip belirteçleriyle desteklenmiÅtir.
-* Yalnızca bir kaç zorunlu baÄımlılıÄa sahip.
+* HTTPX üzerinde geliÅtirilmiÅ test istemcisi.
+* CORS, GZip, Statik Dosyalar, Streaming cevaplar.
+* Oturum (Session) ve Cookie desteÄi.
+* %100 test kapsamı.
+* %100 tip anotasyonlu kod tabanı.
+* Az sayıda zorunlu baÄımlılık.
-Starlette Åu anda test edilen en hızlı Python framework'ü. Yalnızca bir sunucu olan Uvicorn'a yeniliyor, o da zaten bir framework deÄil.
+Starlette, Åu anda test edilen en hızlı Python frameworkâüdür. Yalnızca bir framework deÄil, bir sunucu olan Uvicorn tarafından geçilir.
-Starlette bütün temel web mikro framework iÅlevselliÄini saÄlıyor.
+Starlette, temel web mikroframework iÅlevselliÄinin tamamını saÄlar.
-Ancak otomatik veri doÄrulama, veri dönüÅtürme ve dökümantasyon saÄlamyor.
+Ancak otomatik veri doÄrulama, dönüÅüm veya dökümantasyon saÄlamaz.
-Bu, **FastAPI**'ın onun üzerine tamamen Python tip belirteçlerine baÄlı olarak eklediÄi (Pydantic ile) ana Åeylerden biri. **FastAPI** bunun yanında artı olarak baÄımlılık enjeksiyonu sistemi, güvenlik araçları, OpenAPI Åema üretimi ve benzeri özellikler de ekliyor.
+**FastAPI**ânin bunun üzerine eklediÄi ana Åeylerden biri, Pydantic kullanarak, bütünüyle Python tip belirteçlerine dayalı bu özelliklerdir. Buna ek olarak baÄımlılık enjeksiyonu sistemi, güvenlik yardımcıları, OpenAPI Åema üretimi vb. gelir.
/// note | Teknik Detaylar
-ASGI, Django'nun ana ekibi tarafından geliÅtirilen yeni bir "standart". Bir "Python standardı" (PEP) olma sürecinde fakat henüz bir standart deÄil.
+ASGI, Django çekirdek ekip üyeleri tarafından geliÅtirilen yeni bir âstandartâtır. Hâlâ resmi bir âPython standardıâ (PEP) deÄildir, ancak bu süreç üzerindedirler.
-Bununla birlikte, halihazırda birçok araç tarafından bir "standart" olarak kullanılmakta. Bu, Uvicorn'u farklı ASGI sunucularıyla (Daphne veya Hypercorn gibi) deÄiÅtirebileceÄiniz veya `python-socketio` gibi ASGI ile uyumlu araçları ekleyebileciÄiniz için birlikte çalıÅılabilirliÄi büyük ölçüde arttırıyor.
+Buna raÄmen, Åimdiden birçok araç tarafından bir âstandartâ olarak kullanılmaktadır. Bu, birlikte çalıÅabilirliÄi büyük ölçüde artırır; örneÄin Uvicornâu baÅka bir ASGI sunucusuyla (Daphne veya Hypercorn gibi) deÄiÅtirebilir ya da `python-socketio` gibi ASGI uyumlu araçlar ekleyebilirsiniz.
///
-/// check | **FastAPI** nerede kullanıyor?
+/// check | **FastAPI** bunu Åurada kullanır
-Tüm temel web kısımlarında üzerine özellikler eklenerek kullanılmakta.
+Tüm temel web kısımlarını ele almak; üzerine özellikler eklemek.
-`FastAPI` sınıfının kendisi direkt olarak `Starlette` sınıfını miras alıyor!
+`FastAPI` sınıfı, doÄrudan `Starlette` sınıfından miras alır.
-Yani, Starlette ile yapabileceÄiniz her Åeyi, Starlette'in bir nevi güçlendirilmiÅ hali olan **FastAPI** ile doÄrudan yapabilirsiniz.
+Dolayısıyla Starlette ile yapabildiÄiniz her Åeyi, adeta âturbo Åarjlı Starletteâ olan **FastAPI** ile de doÄrudan yapabilirsiniz.
///
-### Uvicorn
+### Uvicorn { #uvicorn }
-Uvicorn, uvlook ile httptools üzerine kurulu ıÅık hzında bir ASGI sunucusudur.
+Uvicorn, uvloop ve httptools üzerinde inÅa edilmiÅ, ıÅık hızında bir ASGI sunucusudur.
-Bir web framework'ünden ziyade bir sunucudur, yani yollara baÄlı yönlendirme yapmanızı saÄlayan araçları yoktur. Bu daha çok Starlette (ya da **FastAPI**) gibi bir framework'ün sunucuya ek olarak saÄladıÄı bir Åeydir.
+Bir web frameworkâü deÄil, bir sunucudur. ÃrneÄin pathâlere göre yönlendirme araçları saÄlamaz; bunu Starlette (veya **FastAPI**) gibi bir framework üstte saÄlar.
-Starlette ve **FastAPI** için tavsiye edilen sunucu Uvicorndur.
+Starlette ve **FastAPI** için önerilen sunucudur.
-/// check | **FastAPI** neden tavsiye ediyor?
+/// check | **FastAPI** bunu Åöyle önerir
-**FastAPI** uygulamalarını çalıÅtırmak için ana web sunucusu Uvicorn!
+**FastAPI** uygulamalarını çalıÅtırmak için ana web sunucusu.
-Gunicorn ile birleÅtirdiÄinizde asenkron ve çoklu iÅlem destekleyen bir sunucu elde ediyorsunuz!
+Komut satırında `--workers` seçeneÄini kullanarak asenkron çok süreçli (multiâprocess) bir sunucu da elde edebilirsiniz.
-Daha fazla detay için [Deployment](deployment/index.md){.internal-link target=_blank} bölümünü inceleyebilirsiniz.
+Daha fazla detay için [DaÄıtım](deployment/index.md){.internal-link target=_blank} bölümüne bakın.
///
-## KarÅılaÅtırma ve Hız
+## Kıyaslamalar ve Hız { #benchmarks-and-speed }
-Uvicorn, Starlette ve FastAPI arasındakı farkı daha iyi anlamak ve karÅılaÅtırma yapmak için [Kıyaslamalar](benchmarks.md){.internal-link target=_blank} bölümüne bakın!
+Uvicorn, Starlette ve FastAPI arasındaki farkı anlamak ve karÅılaÅtırmak için [Kıyaslamalar](benchmarks.md){.internal-link target=_blank} bölümüne göz atın.
diff --git a/docs/tr/docs/deployment/docker.md b/docs/tr/docs/deployment/docker.md
index b48d2ddf58..6c8f74c778 100644
--- a/docs/tr/docs/deployment/docker.md
+++ b/docs/tr/docs/deployment/docker.md
@@ -145,8 +145,6 @@ Paket baÄımlılıklarını tanımlamak ve yüklemek için baÅka formatlar ve
* AÅaÄıdakilerle bir `main.py` dosyası oluÅturun:
```Python
-from typing import Union
-
from fastapi import FastAPI
app = FastAPI()
@@ -158,7 +156,7 @@ def read_root():
@app.get("/items/{item_id}")
-def read_item(item_id: int, q: Union[str, None] = None):
+def read_item(item_id: int, q: str | None = None):
return {"item_id": item_id, "q": q}
```
@@ -260,7 +258,7 @@ FastAPI'nin düzgün Åekilde kapanabilmesi ve [lifespan event](../advanced/even
Detaylar için shell ve exec form için Docker dokümanlarına bakabilirsiniz.
-Bu durum `docker compose` kullanırken oldukça belirgin olabilir. Daha teknik detaylar için Åu Docker Compose FAQ bölümüne bakın: Why do my services take 10 seconds to recreate or stop?.
+Bu durum `docker compose` kullanırken oldukça belirgin olabilir. Daha teknik detaylar için Åu Docker Compose FAQ bölümüne bakın: Hizmetlerimin yeniden oluÅturulması veya durması neden 10 saniye sürüyor?.
#### Dizin Yapısı { #directory-structure }
@@ -456,7 +454,7 @@ Container kullanmadan, uygulamaları startup'ta çalıÅtırmak ve restart mekan
## Replication - Process Sayısı { #replication-number-of-processes }
-Kubernetes, Docker Swarm Mode, Nomad veya benzeri, birden fazla makinede daÄıtık container'ları yöneten karmaÅık bir sistemle kurulmuÅ bir cluster'ınız varsa, replication'ı her container içinde bir **process manager** (ör. worker'lı Uvicorn) kullanarak yönetmek yerine, muhtemelen **cluster seviyesinde** ele almak istersiniz.
+Kubernetes, Docker Swarm Mode, Nomad veya benzeri, birden fazla makinede daÄıtık container'ları yöneten karmaÅık bir sistemle kurulmuÅ bir cluster'ınız varsa, replication'ı her container içinde bir **process manager** (ör. worker'lı Uvicorn) kullanarak yönetmek yerine, muhtemelen **cluster seviyesinde** ele almak istersiniz.
Kubernetes gibi daÄıtık container yönetim sistemleri, gelen request'ler için **load balancing** desteÄi sunarken aynı zamanda **container replication**'ını yönetmek için entegre mekanizmalara sahiptir. Hepsi **cluster seviyesinde**.
diff --git a/docs/tr/docs/history-design-future.md b/docs/tr/docs/history-design-future.md
index cad290828b..764a519571 100644
--- a/docs/tr/docs/history-design-future.md
+++ b/docs/tr/docs/history-design-future.md
@@ -1,4 +1,4 @@
-# GeçmiÅi, Tasarımı ve GeleceÄi
+# GeçmiÅi, Tasarımı ve GeleceÄi { #history-design-and-future }
Bir süre önce, bir **FastAPI** kullanıcısı sordu:
@@ -6,7 +6,7 @@ Bir süre önce, **Pydantic**'i kullanmaya karar verdim.
@@ -60,11 +60,11 @@ Sonra, JSON Schema ile tamamen uyumlu olmasını saÄlamak, kısıtlama bildirim
GeliÅtirme sırasında, diÄer ana gereksinim olan **Starlette**'e de katkıda bulundum.
-## GeliÅtirme
+## GeliÅtirme { #development }
**FastAPI**'ı oluÅturmaya baÅladıÄımda, parçaların çoÄu zaten yerindeydi, tasarım tanımlanmıÅtı, gereksinimler ve araçlar hazırdı, standartlar ve tanımlamalar hakkındaki bilgi net ve tazeydi.
-## Gelecek
+## Gelecek { #future }
Åimdiye kadar, **FastAPI**'ın fikirleriyle birçok kiÅiye faydalı olduÄu apaçık ortada.
diff --git a/docs/tr/docs/translation-banner.md b/docs/tr/docs/translation-banner.md
new file mode 100644
index 0000000000..b52578f71d
--- /dev/null
+++ b/docs/tr/docs/translation-banner.md
@@ -0,0 +1,11 @@
+/// details | ð Yapay Zekâ ve İnsanlar Tarafından Ãeviri
+
+Bu çeviri, insanlar tarafından yönlendirilen bir yapay zekâ ile oluÅturuldu. ð¤
+
+Orijinal anlamın yanlıŠanlaÅılması ya da kulaÄa doÄal gelmeme gibi hatalar içerebilir. ð¤
+
+[Yapay zekâyı daha iyi yönlendirmemize yardımcı olarak](https://fastapi.tiangolo.com/tr/contributing/#translations) bu çeviriyi iyileÅtirebilirsiniz.
+
+[İngilizce sürüm](ENGLISH_VERSION_URL)
+
+///
diff --git a/docs/tr/docs/tutorial/body-multiple-params.md b/docs/tr/docs/tutorial/body-multiple-params.md
index 3bac80d6a8..29970ca40e 100644
--- a/docs/tr/docs/tutorial/body-multiple-params.md
+++ b/docs/tr/docs/tutorial/body-multiple-params.md
@@ -103,13 +103,13 @@ Elbette ihtiyaç duyduÄunuzda, body parametrelerine ek olarak query parametrele
Varsayılan olarak tekil deÄerler query parametresi olarak yorumlandıÄı için, ayrıca `Query` eklemeniz gerekmez; Åöyle yazmanız yeterlidir:
```Python
-q: Union[str, None] = None
+q: str | None = None
```
-Ya da Python 3.10 ve üzeri için:
+Ya da Python 3.9'da:
```Python
-q: str | None = None
+q: Union[str, None] = None
```
ÃrneÄin:
diff --git a/docs/tr/docs/tutorial/path-operation-configuration.md b/docs/tr/docs/tutorial/path-operation-configuration.md
index 610b863a4a..3fe24dc0a4 100644
--- a/docs/tr/docs/tutorial/path-operation-configuration.md
+++ b/docs/tr/docs/tutorial/path-operation-configuration.md
@@ -52,11 +52,11 @@ Bu durumlarda tagâleri bir `Enum` içinde tutmak mantıklı olabilir.
Bir `summary` ve `description` ekleyebilirsiniz:
-{* ../../docs_src/path_operation_configuration/tutorial003_py310.py hl[18:19] *}
+{* ../../docs_src/path_operation_configuration/tutorial003_py310.py hl[17:18] *}
## Docstringâden Description { #description-from-docstring }
-Açıklamalar genelde uzun olur ve birden fazla satıra yayılır; bu yüzden *path operation* açıklamasını, fonksiyonun içinde docstring olarak tanımlayabilirsiniz; **FastAPI** de onu buradan okur.
+Açıklamalar genelde uzun olur ve birden fazla satıra yayılır; bu yüzden *path operation* açıklamasını, fonksiyonun içinde docstring olarak tanımlayabilirsiniz; **FastAPI** de onu buradan okur.
Docstring içinde Markdown yazabilirsiniz; doÄru Åekilde yorumlanır ve gösterilir (docstring girintisi dikkate alınarak).
@@ -70,7 +70,7 @@ Interactive docsâta Åöyle kullanılacaktır:
`response_description` parametresi ile response açıklamasını belirtebilirsiniz:
-{* ../../docs_src/path_operation_configuration/tutorial005_py310.py hl[19] *}
+{* ../../docs_src/path_operation_configuration/tutorial005_py310.py hl[18] *}
/// info | Bilgi
@@ -90,7 +90,7 @@ Bu yüzden siz saÄlamazsanız, **FastAPI** otomatik olarak "Successful response
## Bir *path operation*âı Deprecate Etmek { #deprecate-a-path-operation }
-Bir *path operation*âı kaldırmadan, deprecated olarak iÅaretlemeniz gerekiyorsa `deprecated` parametresini verin:
+Bir *path operation*âı kaldırmadan, deprecated olarak iÅaretlemeniz gerekiyorsa `deprecated` parametresini verin:
{* ../../docs_src/path_operation_configuration/tutorial006_py39.py hl[16] *}