İçeriğe geç

ANA SAYFA YAZILAR

TÜRKÇE ARAYÜZDE CSS İLE BÜYÜK HARF YAZMAYIN

text-transform: uppercase Türkçe'de sessizce yanlış harf üretir. Sebebi ve doğru çözümü.

  • 11 EYLÜL 2026
  • KASEMAJ SOFTWARE
  • 2 DK OKUMA
  • ARAYÜZ / TÜRKÇE / CSS

Türkçe arayüzde CSS ile büyük harf yazmayın

Bir arayüzde etiketleri büyük harfe çevirmenin en kolay yolu CSS’tir:

.etiket {
  text-transform: uppercase;
}

Türkçe bir arayüzde bu satır sessizce yanlış harf üretir.

Sorun

Türkçe’de “i” harfinin büyüğü İ’dir, “ı” harfinin büyüğü I. Latin alfabesinin geri kalanında böyle bir ayrım yok: “i” büyüdüğünde “I” olur.

Tarayıcının text-transform uygulaması metnin dilini lang özniteliğinden okur. Doğru lang="tr" verilmiş bir sayfada modern tarayıcılar bunu genellikle doğru yapar — ama bu garanti değildir. Metin bir bileşenin içinden geliyorsa, lang bir üst elemanda unutulmuşsa ya da içerik başka bir dilden kopyalanmışsa “İletişim” ekranda ILETISIM olarak belirir.

Daha kötüsü: bu hata derlemede patlamaz, testte kırmızı yanmaz. Yalnız görünür — ve çoğu zaman siteyi yapan kişi değil, ziyaretçi görür.

Çözüm

Büyük harfi CSS’e bırakmayın, kaynakta yazın:

<p class="etiket">İLETİŞİM</p>
.etiket {
  /* text-transform yok: harf zaten büyük */
  letter-spacing: 0.18em;
  font-size: 0.75rem;
}

CSS yalnız aralığı ve puntoyu ayarlar. Hangi harfin büyüğünün ne olduğuna karar veren şey metnin kendisidir; bu kararı kimse tahmin etmek zorunda kalmaz.

Metni koddan üretiyorsanız aynı tuzak orada da var: Python’da "iletişim".upper() size ILETIŞIM verir. Türkçe için eşlemeyi elle yapmanız gerekir.

Denetleme

Bu kural unutulmaya çok müsait — birisi bir bileşene uppercase ekler, kimse fark etmez. Biz otomatik denetime bağladık: derlenmiş sayfada text-transform: uppercase hesaplanan hiçbir öğe bulunmamalı.

[...document.querySelectorAll("body *")]
  .filter((e) => getComputedStyle(e).textTransform === "uppercase").length;

Bu sayı sıfır değilse derleme düşer. Kuralı hatırlamak zorunda kalmamanın en iyi yolu, onu hatırlatacak bir şey yazmaktır.

TÜM YAZILAR