
# Diller ve sağdan sola yazım

Son kullanıcı sayfaları (barındırılan giriş, hesap portalı, e-postalar) 30 dilde kullanılabilir. Bunlardan üçü sağdan sola yazılır: Arapça (`ar`), Farsça (`fa`) ve İbranice (`he`). Kontrol paneli ve bu dokümantasyon 8 dilde kullanılabilir: Türkçe, İngilizce, Fransızca, Almanca, Korece, Japonca, İtalyanca ve İspanyolca.

## Dil nasıl seçilir

Barındırılan sayfalar dili şu kaynaklardan sırayla seçer. Her kaynak, sayfanın çevrildiği dillerle eşleştirilir; hiçbiri eşleşmezse bir sonraki kaynak denenir:

1. OIDC yetkilendirme isteğinin `ui_locales` parametresi, sıralı bir liste olarak (ilk 10 girdi).
2. Tarayıcının `Accept-Language` başlığı.

Hiçbir kaynak eşleşmezse İngilizce (`en`) kullanılır. Bölge etiketleri temel dile geri döner (`de-AT`, `de` olur). Değerler yalnızca eşleştirilir, asla sayfaya kopyalanmaz.

Bir ortam için etkin olan diller, OpenID Provider meta verilerinde `ui_locales_supported` olarak ve `/fapi/v1/environment` yanıtında `locales` olarak yayımlanır; uygulamanız yalnızca bunları sunabilir. Barındırılan sayfalar seçimini henüz bu listeyle sınırlamaz ve ortamın varsayılan dili henüz geri dönüş dili olarak kullanılmaz; o zamana kadar geri dönüş her zaman İngilizcedir.

Henüz kullanılamıyor (plan §70): seçimi `idp_locale` çerezinde saklayan bir dil seçici ve oturum açmış kullanıcının `locale` değerini kullanma. Bunlar yayımlanana kadar dil her istekte yeniden seçilir.

## Sağdan sola sayfalar

- Her barındırılan sayfa ve hesap portalı `<html lang=… dir=…>` taşır; `ar`, `fa` ve `he` için `dir` değeri `rtl`'dir. E-posta şablonları kök öğelerinde aynı `dir` değerini taşır.
- Özel CSS yalnızca mantıksal yön özelliklerini kabul eder; örneğin `margin-inline-start`, `padding-inline-end` ve `border-inline-start` ile `text-align: start`. `margin-left` gibi fiziksel yön özellikleri `physical_property` hatasıyla, `left` ve `right` değerleri ise `physical_value` hatasıyla reddedilir. `position` ve `inset` ailesi gibi bir öğeyi başka bir öğenin üzerine taşıyan özellikler hiç kabul edilmez.
- Tek kullanımlık kod ve kurtarma kodu alanları her zaman soldan sağa yerleştirilir; tanımlayıcı alanları `dir="auto"` kullanır, böylece bir adres kendi yönünü korur.
- Onay ekranındaki uygulama adı `<bdi>` ile izole edilir; böylece soldan sağa bir ad, sağdan sola bir cümleyi bozmaz. Kuruluş seçicisindeki kuruluş adları gibi diğer adlar henüz izole edilmez.

## Çift yönlü denetim karakterleri

- Onay ekranında gösterilen, müşteri tarafından sağlanan uygulama adı gibi görüntüleme adlarından denetim karakterleri, görünmez biçim karakterleri (U+202A–U+202E ve U+2066–U+2069 çift yönlü denetimleri dahil) ile satır ve paragraf ayraçları çıkarılır; böylece bir ad, çevresindeki metni yeniden sıralayamaz veya taklit edemez.
- Markadaki özel metin geçersiz kılmaları, U+202A–U+202E ve U+2066–U+2069 çift yönlü denetimlerini `bidi_control_character` alan hata koduyla, diğer denetim karakterlerini ise `control_character` ile reddeder (`422 validation_failed`; `errors[]` girdisi metne işaret eder).
- Uygulama adı gibi e-postalara eklenen metin değerleri denetim veya görünmez biçim karakterleri içeriyorsa reddedilir; Farsça ve Hint dillerinin ihtiyacı olduğu için sıfır genişlikli birleştirici ve birleştirici olmayan (U+200D, U+200C) karakterlere izin verilir.

## Kodlar, tarihler ve sayılar

Tek kullanımlık kodlar ve kurtarma kodları, kullanıcı onları başka bir cihazda yazabileceği için her dilde ASCII rakamlarıyla gösterilir. E-postadaki bir güvenlik olayının zamanı, e-postanın dilinin CLDR tarih ve saat biçimini ve alıcının saat dilimini kullanır (bilinmiyorsa UTC); CLDR tarih verisi olmayan bir dil zamanı `YYYY-MM-DD HH:MM UTC` biçiminde gösterir.

## Diğer yazı sistemleri için yazı tipleri

İzin verilen yazı tipi listesi; Arapça, İbranice, Japonca, Korece, Basitleştirilmiş Çince, Tayca ve Devanagari için Noto Sans ailelerini içerir. Geleneksel Çince ailesi henüz listede yoktur (doğrulanmadı). Yazı tipleri ve belirteçler için [Giriş sayfalarınızı markalayın](/docs/guides/branding) bölümüne bakın.
