İçeriğe geç
BigBang

Sık açılanlar

    ↑↓Gezin↵AçEscKapat
    EN

    Temeller

    Biçim ve yerelleştirme

    Türkçe kaynak dildir, İngilizce çeviridir. Tutar, tarih, sayı ve liste her dilde tarayıcının Intl arayüzüyle biçimlenir; elle birleştirilmiş metin ve elle yazılmış biçim yoktur.

    • Arayüz iki dillidir: Türkçe (tr) ve İngilizce (en). Türkçe kaynak dildir; İngilizce metin Türkçeden çevrilir (D-08).
    • İngilizce biçimler en-GB yereline sabitlenir. Çıplak en değeri Intl’e hiçbir zaman verilmez (I18N-15).
    • Dil seçimi şu sırayla belirlenir: kaydedilmiş tercih, tarayıcının dil başlığı, Türkçe. Dil değişince sayfa yeniden yüklenmez; rota ve form durumu korunur.
    • <html lang> etkin dili gösterir. Başka dilde bir parça varsa kendi lang değerini taşır (I18N-14).
    • Sağdan sola yazım bu aşamanın kapsamında değildir (I18N-24). Yine de mantıksal CSS özellikleri (margin-inline-start, text-align: start) kullanın.
    • Arayüzdeki her metin bir mesaj kimliğinden gelir; JSX içinde çıplak metin yoktur. aria-label, alt ve placeholder da buna dahildir (I18N-06).
    • Tasarım sisteminin kendi metinleri ui.* katalogundadır: örneğin Button’ın yükleniyor metni. Uygulama metinleri ekran.bölüm.öğe.amaç biçiminde dört parçalı kimlik alır (I18N-02).
    • Cümleyi parçalardan birleştirmeyin. Değişkenli tam cümle yazın: {count, plural, one {# dosya seçildi} other {# dosya seçildi}} (I18N-07).
    • Türkçede çoğul kategorileri one ve other’dır. Türkçede sayıdan sonra isim tekil kalır: “3 dosya”.
    • Her mesajın bir açıklaması vardır: hangi ekranda, değişkenler ne, en fazla kaç karakter (I18N-03).
    • Yasal metin mesaj katalogunda tutulmaz ve makine çevirisi yapılmaz; sürümlü belge olarak yayımlanır (D-08).

    Aşağıdaki değerler bu sayfa derlenirken Intl ile üretilmiştir; çalışma anında aynı çıktı alınır.

    DurumTürkçe (tr-TR)İngilizce (en-GB)API
    Tutar₺1.234.567,89₺1,234,567.89style: 'currency', currencyDisplay: 'narrowSymbol'
    Eksi tutar-₺1.234,50-₺1,234.50style: 'currency', currencyDisplay: 'narrowSymbol'
    Sıfır tutar₺0,00₺0.00style: 'currency', currencyDisplay: 'narrowSymbol'
    Yüzde%12,312.3%style: 'percent'
    Sayı48.210,548,210.5Intl.NumberFormat
    Kısa tarih25.10.202625/10/2026dateStyle: 'short'
    Uzun tarih ve saat25 Ekim 2026 00:3025 October 2026 at 00:30dateStyle: 'long', timeStyle: 'short'
    Göreli zaman3 gün önce3 days agoIntl.RelativeTimeFormat
    Dündünyesterdaynumeric: 'auto'
    Listerapor, tablo ve grafikreport, table and chartIntl.ListFormat
    Büyük harfİSTANBUL IŞIKISTANBULtoLocaleUpperCase(locale)
    SıralamaAğaç, Ankara, Cam, Çilek, Şeker, Ürün, ZeytinAğaç, Ankara, Cam, Çilek, Şeker, Ürün, ZeytinIntl.Collator(locale)
    • Tutarlar tek bir <Money> bileşeniyle gösterilir; iki dilde de narrowSymbol kullanılır: ₺ simgesi, “TRY” değil (I18N-10).
    • Türk lirası tutarı her zaman iki ondalık basamakla gösterilir: “₺1.250,00”. Kuruşu sıfır olan tutarın ondalığı atılmaz.
    • Eksi işareti simgenin önüne gelir: “-₺1.234,50”. Yön (gelen, giden) yalnızca renkle değil, işaretle ya da metinle de verilir.
    • Tutarlar kısaltılmaz (“1,2 Mn” yok); sığmazsa alt satıra geçer. Kısaltma yalnızca grafik eksenlerinde kullanılır ve tam değer ipucunda görünür.
    • Ön yüz ücret ya da toplam hesaplamaz; tutarlar sunucudan hesaplanmış gelir. Eksik bir değer “₺0,00” olarak gösterilmez, hata olarak ele alınır.
    • Tutar sütunları sağa hizalanır ve eşit genişlikli rakam kullanır (font-variant-numeric: tabular-nums). Bkz. Tipografi.
    • Sayılar Intl.NumberFormat ile biçimlenir. Türkçede binlik ayracı nokta, ondalık ayracı virgüldür; İngilizcede tersi.
    • Yüzde işareti Türkçede sayının önüne gelir: “%12,3”. İngilizcede sonra gelir: “12.3%” (I18N-11).
    • Kimlik ve referans gibi uzun numaralar okunması için dörtlü gruplar halinde gösterilir; kopyalandığında boşluksuz kopyalanır.
    • Her tarih çağrısı timeZone: 'Europe/Istanbul' taşır; kullanıcının cihaz saat dilimi kullanılmaz (I18N-12).
    • Saat iki dilde de 24 saat biçimindedir.
    • Kayıt, makbuz ve denetim zamanları her zaman mutlak gösterilir. “3 gün önce” gibi göreli zaman yalnızca bildirim ve etkinlik akışlarında kullanılır.
    • Tarih seçicide kapalı günler yalnızca renkle değil, metinle de açıklanır.
    • Sunucuyla değişen tarihler ISO 8601 biçiminde ve saat dilimiyle taşınır.
    • Büyük harfe çevirme toLocaleUpperCase(locale) ile yapılır; toUpperCase() Türkçe “i” harfini yanlış çevirir (I18N-09).
    • Listeler Intl.Collator(locale) ile sıralanır. Varsayılan .sort() Ç, Ğ, İ, Ö, Ş, Ü harflerini Z’den sonraya atar (I18N-13).
    • Aramada büyük ve küçük harf eşleştirmesi Türkçe kurallarla yapılır: “istanbul” araması “İstanbul” sonucunu bulur.
    • Arayüzü metnin %40 uzayabileceği düşünülerek kurun. Storybook’taki sözde yerel ayar metni %40 uzatır ve köşeli parantez içine alır; kırılan düzen burada görünür (I18N-16, I18N-35).
    • Etiketlere sabit genişlik ve white-space: nowrap vermeyin.
    • Kısaltma yalnızca tasarım sisteminin Truncate bileşeniyle yapılır; tam metin erişilebilir adda ve ipucunda kalır. Tutar, referans, tarih, yasal metin ve hata metni kısaltılmaz.

    Markanın yazı tipi Ç Ğ İ ı Ö Ş Ü harflerini ve ₺ simgesini kapsamak zorundadır (I18N-23). Yeni bir marka yazı tipi eklendiğinde bu karakterler derleme sırasında denetlenir.

    {count, plural, other {# dosya seçildi}}
    YapınTek mesaj, değişkenli tam cümle; çevirmen tümünü görür.
    count + " " + t("file") + " " + t("selected")
    YapmayınParçalar birleşince sözcük sırası diğer dilde bozulur.
    new Intl.NumberFormat(locale, options)
    YapınAyraç ve simge dile göre gelir.
    value.toFixed(2).replace('.', ',')
    YapmayınElle yazılmış ayraç İngilizcede yanlış çıkar.