Sağdan Sola ve Düzen Yönü
RTL dillerini ve aynalanmış düzenleri destekleyin.
Sağdan Sola ve Düzen Yönü, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 4 dersten oluşur.
Sağdan Sola Okunan Diller
Arapça, İbranice, Farsça ve Urduca sağdan sola (RTL) yazılır. Bu kullanıcılar için arayüzün tamamı yansıtılmalıdır: geri gezinme düğmeleri sağa bakmalı, listeler sağ kenara hizalanmalı ve ilerleme sağdan sola akmalıdır. RTL desteği, uluslararasılaştırmanın temel bir parçasıdır.
// RTL locales include: ar, he, fa, ur
// The whole UI mirrors, not just the text.Sol ve Sağ Değil, Başlangıç ve Bitiş
Altın kural şudur: sol ve sağ yerine başlangıç ve bitiş ile tasarlayın. Başlangıç, okumanın başladığı yerdir (İngilizcede sol, Arapçada sağ). Başlangıç ve bitişi kullandığınızda sistem, RTL'de yerleşiminizi sizin için otomatik olarak yansıtır.
// SwiftUI uses leading/trailing automatically:
// HStack { Image(...); Text("Title") }
// .padding(.leading, 16) // flips in RTL
let edge = "leading mirrors automatically"
_ = edgelayoutDirection Değerini Okuma
SwiftUI, geçerli yönü layoutDirection ortam değeriyle sunar; bu değer .leftToRight veya .rightToLeft olabilir. Şevron varlığı seçmek gibi yöne bağlı bir mantığa ihtiyaç duyduğunuzda bu değeri okuyun.
// In a SwiftUI View:
// @Environment(\.layoutDirection) var direction
// let chevron = direction == .rightToLeft
// ? "chevron.left" : "chevron.right"
let ltr = "leftToRight"
let rtl = "rightToLeft"
print(ltr, rtl)SF Simgelerini ve Görselleri Yansıtma
Birçok SF simgesi otomatik olarak yansıtılır. Yön belirten özel görsellerde, yerleşim yönüyle birlikte çevrilmelerini belirtin; böylece ileri bakan bir ok RTL'de de ileri bakmaya devam eder. flipsForRightToLeftLayoutDirection değiştiricisi bunu denetler.
// SwiftUI:
// Image("forwardArrow")
// .flipsForRightToLeftLayoutDirection(true)
let shouldFlip = true
_ = shouldFlipBir Yönü Zorlama
Bazen bir alt görünümün sabit bir yönü koruması gerekir; örneğin RTL yerleşimi içindeki bir telefon numarası veya soldan sağa yazılan bir kod parçası. Yalnızca bu alt ağaçta environment(\.layoutDirection, _) değiştiricisini kullanarak yönü geçersiz kılın.
// Keep a code block LTR even in an RTL app:
// CodeView(snippet)
// .environment(\.layoutDirection, .leftToRight)
let forced = "leftToRight subtree"
_ = forcedMetin Hizalaması ve multilineTextAlignment
Metin hizalaması için de .leading ve .trailing kullanın. .leading ile hizalanmış bir paragraf, Arapçada otomatik olarak sağ kenara yaslanır. Hiçbir zaman çevrilmeyen .left/.right değerlerinden kaçının.
// Text(longBody)
// .multilineTextAlignment(.leading) // flips in RTL
let alignment = "leading flips, left does not"
_ = alignmentÇift Yönlü Metin
RTL paragrafları genellikle LTR bölümleri (URL'ler, sayılar ve İngilizce marka adları) içerir. Unicode Çift Yönlü Algoritması sıralamayı ele alır; ancak görsel karmaşayı önlemek için belirsiz bölümleri yön belirten yalıtma karakterleriyle çevreleyebilirsiniz.
import Foundation
// First-strong isolate keeps an embedded run intact
let isolated = "\u{2068}example.com\u{2069}"
print(isolated.count > 0)Yansıtılmayan Görünümler İçin Anlamsal İçerik
Bazı denetimler — medya oynatma düğmeleri ve zaman çizelgeleri — okuma yönüne değil fiziksel anlama dayandıkları için yansıtılmamalıdır. UIKit'in semanticContentAttribute özelliği (.playback, .spatial, .forceLeftToRight), sabit bir yönün ne zaman korunacağını sisteme bildirir.
// UIKit example:
// playbackBar.semanticContentAttribute = .playback
// mapOverlay.semanticContentAttribute = .spatial
let keepFixed = "playback / spatial do not mirror"
_ = keepFixedÇeviri Yapmadan RTL'yi Test Etme
Yansıtmayı test etmek için Arapça çevirisine ihtiyacınız yoktur. Uygulamayı, şemanın uygulama dili ayarındaki Sağdan Sola Sözde Dili ile çalıştırın. Kullanıcı arayüzü mevcut dizelerinizi kullanarak yansıtılır; böylece sabit kodlanmış .left/.right hatalarını anında görebilirsiniz.
// Edit Scheme > Run > Options >
// App Language: Right-to-Left Pseudolanguage
let test = "mirror without real translations"
_ = testYaygın RTL Hataları
Şunlara dikkat edin:
- Sabit kodlanmış
.left/.righthizalaması veya iç boşluğu. - Sabit x kaydırmaları kullanan elle konumlandırılmış görünümler.
- Çevrilmeyen yön belirten özel görseller.
- Yanlış yöne bakan geri şevronları veya kaydırıcılar.
- Birleştirildiğinde karmaşaya yol açan çift yönlü dizeler.
// Replace fixed offsets with leading/trailing layout
// so AutoLayout / SwiftUI can mirror them.
let rule = "prefer leading/trailing everywhere"
_ = ruleRTL'ye Hazır Bir Satır
İyi oluşturulmuş bir satır, baştan sona başlangıç/bitiş kullanır, simgelerin çevrilmesine izin verir ve yönü yalnızca anlamsal olarak gerekli olduğunda zorlar. Böyle bir görünümün hem İngilizcede hem Arapçada doğru görünmesi için hiçbir değişiklik gerekmez.
// HStack {
// Image(systemName: "star")
// Text("Favorite")
// Spacer()
// Image(systemName: "chevron.forward") // mirrors
// }
// .padding(.horizontal, 16)
let ready = "row mirrors automatically"
_ = readyHızlı Kontrol
RTL güvenli yerleşimin temel ilkesini hatırlayın.
Özet
Sağdan sola dilleri desteklemeyi öğrendiniz:
- Her zaman sol/sağ yerine başlangıç/bitiş ile tasarlayın.
- Yöne bağlı mantık için
layoutDirectionortamını okuyun. - Yön belirten görselleri çevirin; kod veya telefon numaraları gibi sabit alt ağaçlar için yönü geçersiz kılın.
- Yansıtılmaması gereken oynatma/uzamsal denetimler için
semanticContentAttributekullanın. - Yayınlamadan önce RTL sözde diliyle test edin.
Yapay zeka eğitmeniyle Swift öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 122
- Dersler
- 409
Sıkça Sorulan Sorular
“Sağdan Sola ve Düzen Yönü” dersi ücretsiz mi?
Evet — “Sağdan Sola ve Düzen Yönü” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 4 dersten oluşur.
“Sağdan Sola ve Düzen Yönü” dersinde ne öğreneceğim?
RTL dillerini ve aynalanmış düzenleri destekleyin. Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Swift Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Sağdan Sola ve Düzen Yönü” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Dize Katalogları ve Yerelleştirilmiş Dizeler
- Çoğullaştırma ve Stringsdict
- Yerel Ayara Duyarlı Biçimlendirme
- Sağdan Sola ve Düzen Yönü