Skip to content

Commit 875ccf0

Browse files
CopilotCopilot
andcommitted
Add Turkish (tr) translations for datetime and enterprise patterns
- 6 datetime files: date-formatting, duration-and-period, hex-format, instant-precision, java-time-basics, math-clamp - 16 enterprise files: ejb-timer-vs-jakarta-scheduler, ejb-vs-cdi, jdbc-resultset-vs-jpa-criteria, jdbc-vs-jooq, jdbc-vs-jpa, jndi-lookup-vs-cdi-injection, jpa-vs-jakarta-data, jsf-managed-bean-vs-cdi-named, manual-transaction-vs-declarative, mdb-vs-reactive-messaging, servlet-vs-jaxrs, singleton-ejb-vs-cdi-application-scoped, soap-vs-jakarta-rest, spring-api-versioning, spring-null-safety-jspecify, spring-xml-config-vs-annotations Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 0a827e5 commit 875ccf0

24 files changed

+487
-1
lines changed

html-generators/locales.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ fr=🇫🇷 Français
99
ja=🇯🇵 日本語
1010
ko=🇰🇷 한국어
1111
it=🇮🇹 Italiano
12-
pl=🇵🇱 Polski
12+
pl=🇵🇱 Polski
13+
tr=🇹🇷 Türkçe
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: Tarih biçimlendirme
3+
oldApproach: SimpleDateFormat
4+
modernApproach: DateTimeFormatter
5+
summary: "Tarihleri thread-safe ve değişmez DateTimeFormatter ile biçimlendirin."
6+
explanation: "DateTimeFormatter, SimpleDateFormat'ın aksine değişmez ve thread-safe'dir. Sabit olarak saklanabilir ve paylaşılabilir. Yaygın biçimler için ISO_LOCAL_DATE gibi önceden tanımlanmış biçimleyiciler mevcuttur."
7+
whyModernWins:
8+
- icon: 🛡️
9+
title: Thread-safe
10+
desc: "Biçimleyicileri senkronizasyon olmadan iş parçacıkları arasında paylaşın."
11+
- icon: 📋
12+
title: Yerleşik biçimler
13+
desc: "Standart biçimler için ISO_LOCAL_DATE, ISO_INSTANT ve diğerleri."
14+
- icon: 🔒
15+
title: Değişmez
16+
desc: "Güvenle static final sabit olarak saklayın."
17+
support:
18+
description: JDK 8'den (Mart 2014) itibaren geniş çapta kullanılabilir
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: Duration ve Period
3+
oldApproach: Milisaniye Matematiği
4+
modernApproach: Duration / Period
5+
summary: "Zaman farklarını tür-güvenli Duration ve Period ile hesaplayın."
6+
explanation: "Duration, saat, dakika ve saniye gibi zaman tabanlı miktarlar içindir. Period ise yıl, ay ve gün gibi tarih tabanlı miktarlar içindir. Basit farklar için ChronoUnit.between() kullanılır. Tümü kenar durumları doğru şekilde ele alır."
7+
whyModernWins:
8+
- icon: 🎯
9+
title: Tür-güvenli
10+
desc: "Zaman için Duration, tarihler için Period — karışıklık yok."
11+
- icon: 🛡️
12+
title: Doğru hesaplama
13+
desc: "Yaz saati geçişlerini, artık yılları ve artık saniyeleri doğru ele alır."
14+
- icon: 📖
15+
title: Okunabilir
16+
desc: "ChronoUnit.DAYS.between() doğal dil gibi okunur."
17+
support:
18+
description: JDK 8'den (Mart 2014) itibaren geniş çapta kullanılabilir
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: HexFormat
3+
oldApproach: Manuel Hex Dönüşümü
4+
modernApproach: HexFormat
5+
summary: "HexFormat ile hex dizileri ve bayt dizileri arasında dönüşüm yapın."
6+
explanation: "HexFormat, baytlar, int'ler ve diziler için iki yönlü hex kodlama/kod çözme sağlar. Sınırlayıcıları, ön eki, son eki ve büyük/küçük harf kullanımını yapılandırın. Artık manuel biçimlendirme veya ayrıştırma gerekmez."
7+
whyModernWins:
8+
- icon: 📐
9+
title: İki yönlü
10+
desc: "Tek bir API ile bayt→hex ve hex→bayt dönüşümü yapın."
11+
- icon: 🔧
12+
title: Yapılandırılabilir
13+
desc: "Sınırlayıcılar, ön ek, son ek, büyük/küçük harf desteği."
14+
- icon: 📦
15+
title: Dizi desteği
16+
desc: "Tüm bayt dizilerini tek seferde kodlayın/kodunu çözün."
17+
support:
18+
description: JDK 17 LTS'den (Eylül 2021) itibaren geniş çapta kullanılabilir
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: Nanosaniye hassasiyetli Instant
3+
oldApproach: Milisaniyeler
4+
modernApproach: Nanosaniyeler
5+
summary: "Mikrosaniye veya nanosaniye hassasiyetiyle zaman damgaları alın."
6+
explanation: "Java 9, saat çözünürlüğünü iyileştirdi; böylece Instant.now() çoğu platformda mikrosaniye hassasiyeti (bazılarında nanosaniye) yakalıyor. Eski currentTimeMillis() yalnızca milisaniye sağlar."
7+
whyModernWins:
8+
- icon: 🎯
9+
title: Daha yüksek hassasiyet
10+
desc: "Milisaniye yerine mikrosaniye/nanosaniye zaman damgaları."
11+
- icon: 📐
12+
title: Tür-güvenli
13+
desc: "Instant hassasiyetini taşır — belirsiz long türü yok."
14+
- icon: 🌐
15+
title: UTC tabanlı
16+
desc: "Instant her zaman UTC'dedir — saat dilimi karışıklığı yok."
17+
support:
18+
description: JDK 9'dan (Eylül 2017) itibaren geniş çapta kullanılabilir
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: java.time API temelleri
3+
oldApproach: Date + Calendar
4+
modernApproach: java.time.*
5+
summary: "Date ve Calendar yerine değişmez ve açık tarih/saat türlerini kullanın."
6+
explanation: "java.time; LocalDate, LocalTime, LocalDateTime, Instant, ZonedDateTime sağlar — hepsi değişmez ve thread-safe'dir. Aylar 1'den başlar. Artık Calendar.JANUARY = 0 karışıklığı yok."
7+
whyModernWins:
8+
- icon: 🔒
9+
title: Değişmez
10+
desc: "Tarih/saat değerleri yanlışlıkla değiştirilemez."
11+
- icon: 📖
12+
title: Açık API
13+
desc: "0 değil Month.JANUARY; 2 değil DayOfWeek.MONDAY."
14+
- icon: 🛡️
15+
title: Thread-safe
16+
desc: "Senkronizasyon gerekmez — iş parçacıkları arasında serbestçe paylaşın."
17+
support:
18+
description: JDK 8'den (Mart 2014) itibaren geniş çapta kullanılabilir
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: Math.clamp()
3+
oldApproach: İç içe min/max
4+
modernApproach: Math.clamp()
5+
summary: "Bir değeri tek ve açık bir çağrıyla sınırlar arasında kısıtlayın."
6+
explanation: "Math.clamp(value, min, max), bir değeri [min, max] aralığıyla kısıtlar. İç içe Math.min/Math.max'tan daha açık ve int, long, float ve double için kullanılabilir."
7+
whyModernWins:
8+
- icon: 📖
9+
title: Kendini belgeleyen
10+
desc: "clamp(value, min, max) belirsizlik içermez."
11+
- icon: 🛡️
12+
title: Daha az hata eğilimli
13+
desc: "Artık min/max sırasını yanlışlıkla yer değiştirme riski yok."
14+
- icon: 🎯
15+
title: Tüm sayısal türler
16+
desc: "int, long, float ve double ile çalışır."
17+
support:
18+
description: JDK 21 LTS'den (Eylül 2023) itibaren geniş çapta kullanılabilir
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: EJB Timer ve Jakarta Scheduler
3+
oldApproach: EJB TimerService
4+
modernApproach: ManagedScheduledExecutorService
5+
summary: "Ağır EJB zamanlayıcıları, daha basit zamanlama için Jakarta Concurrency'nin ManagedScheduledExecutorService'i ile değiştirin."
6+
explanation: "EJB zamanlayıcıları, @Timeout geri çağrısı olan bir @Stateless veya @Singleton bean ve XML ya da ek açıklama tabanlı zamanlama ifadeleri gerektirir. Jakarta Concurrency, tanıdık java.util.concurrent zamanlama API'sini kullanan ManagedScheduledExecutorService sağlar. Sonuç: daha az şablon kod, daha kolay birim testi ve EJB kapsayıcı bağımlılığı yok."
7+
whyModernWins:
8+
- icon: 🪶
9+
title: Azaltılmış şablon kod
10+
desc: "@Timeout geri çağrısı veya ScheduleExpression yok — standart ScheduledExecutorService API'sini kullanın."
11+
- icon: 🧪
12+
title: Daha iyi test edilebilirlik
13+
desc: "Düz yöntemler ve executor mock'ları, EJB kapsayıcı olmadan birim testini basit hale getirir."
14+
- icon: ☁️
15+
title: Buluta uyumlu
16+
desc: "Yönetilen yürütücüler, kapsayıcı yaşam döngüsüyle entegre olur ve hafif çalışma ortamlarında çalışır."
17+
support:
18+
description: Jakarta EE 10 / Concurrency 3.0'dan itibaren kullanılabilir
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: EJB ile CDI Karşılaştırması
3+
oldApproach: EJB
4+
modernApproach: CDI Bean
5+
summary: "Bağımlılık enjeksiyonu ve işlemler için ağır EJB'leri hafif CDI bean'leri ile değiştirin."
6+
explanation: "CDI (Contexts and Dependency Injection), EJB'lerle aynı bağımlılık enjeksiyonu ve işlem yönetimini sağlar; ancak kapsayıcıya özel arayüzler veya üst sınıflar olmadan düz Java sınıfları olarak. @ApplicationScoped ve @RequestScoped gibi kapsamlar yaşam döngüsünü kontrol eder; @Transactional ise zorunlu EJB işlem semantiğinin yerini alır."
7+
whyModernWins:
8+
- icon: 🪶
9+
title: Hafif
10+
desc: "CDI bean'leri, EJB'ye özel arayüzler veya tanımlayıcılar olmadan düz Java sınıflarıdır."
11+
- icon: 💉
12+
title: Birleşik enjeksiyon
13+
desc: "@Inject; tüm yönetilen bean'ler, JAX-RS kaynakları ve Jakarta EE bileşenlerinde çalışır."
14+
- icon: 🧪
15+
title: Kolay birim testi
16+
desc: "EJB proxy ek yükü olmayan düz sınıflar, örneklendirmek ve mock'lamak için çok daha basittir."
17+
support:
18+
description: Jakarta EE 8 / Java 11'den itibaren geniş çapta kullanılabilir
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: JDBC ResultSet Eşleme ile JPA Criteria API Karşılaştırması
3+
oldApproach: JDBC ResultSet
4+
modernApproach: JPA Criteria API
5+
summary: "Dinamik sorgular için manuel JDBC ResultSet eşlemesini JPA'nın tür-güvenli Criteria API'siyle değiştirin."
6+
explanation: "Ham JDBC, SQL dizilerinin oluşturulmasını, parametrelerin dizine göre ayarlanmasını ve her ResultSet sütununun manuel olarak eşlenmesini gerektirir — bu süreç hata eğilimlidir ve sütunlar değiştiğinde sessizce bozulur. JPA Criteria API, tür-güvenli bir oluşturucu deseni kullanarak sorguları programatik olarak oluşturur. Sütun adları entity modeline göre doğrulanır, sonuç eşlemesi otomatik yapılır ve karmaşık dinamik sorgular dize birleştirme olmadan temiz biçimde oluşturulur."
7+
whyModernWins:
8+
- icon: 🔒
9+
title: Tür-güvenli sorgular
10+
desc: "Criteria oluşturucusu, alan adı ve tür uyumsuzluklarını derleme zamanında yakalar."
11+
- icon: 🗺️
12+
title: Otomatik eşleme
13+
desc: "JPA, sonuç satırlarını entity nesnelerine eşler — sütun bazında manuel çıkarma yok."
14+
- icon: 🧩
15+
title: Birleştirilebilir koşullar
16+
desc: "Dinamik where koşulları, and(), or() ve yeniden kullanılabilir Predicate nesneleriyle temiz biçimde oluşturulur."
17+
support:
18+
description: Jakarta EE 8 / Java 11'den itibaren geniş çapta kullanılabilir

0 commit comments

Comments
 (0)