temabayimWordPress temaları Türkçe mi? Tema ara
Teknik

WordPress site dili ve kullanıcı dili ayarları nasıl çalışır

5 dk okuma · Yayın 18 Ekim 2026 · 9 kaynak

Bu yazıda
  1. Site dili ne değiştirir
  2. Profil dili (WordPress 4.7’den beri)
  3. Dil değiştirince tema çevirileri nasıl gelir
  4. html lang ve dir öznitelikleri
  5. Saat dilimi, tarih biçimi ve hafta başlangıcı

WordPress’te iki ayrı dil ayarı vardır: sitenin dili ve her kullanıcının kendi profil dili. Site dili ziyaretçinin gördüğü ön yüzü belirler, profil dili ise yalnızca o kullanıcının yönetim panelini. İkisinin karışması, “panel Türkçe ama sitem İngilizce” ya da tam tersi şikâyetlerinin en sık nedenidir. Aşağıdaki açıklamalar WordPress’in resmî belgelerine ve çekirdek kaynak koduna dayanır; menü adlarını İngilizce arayüzdeki karşılıklarıyla birlikte veriyoruz.

Site dili ne değiştirir

Site dili Settings > General (Türkçe panelde Ayarlar > Genel) ekranındaki Site Language alanından seçilir. WordPress 4.0’dan bu yana bu değer veritabanında WPLANG adlı bir seçenek olarak saklanır. Eskiden wp-config.php dosyasına yazılan WPLANG sabiti aynı sürümde kullanımdan kaldırıldı. Eski bir kurulumda bu satırı hâlâ görebilirsiniz, ancak dili belirleyen artık Genel Ayarlar ekranıdır.

Bu ekranda yeni bir dil seçip kaydettiğinizde çekirdek kod şunu yapar: kullanıcınızın dil kurma yetkisi (install_languages) varsa ve sunucu dosya yazmaya izin veriyorsa, seçilen dilin çekirdek dil paketini WordPress.org’dan indirir. Bu iş wp_download_language_pack() fonksiyonuyla yapılır ve fonksiyon yalnızca çekirdek paketini indirir. Tema ve eklenti çevirileri bu anda gelmez, aşağıda anlatılan güncelleme denetimiyle gelir.

Site dili ön yüzde şunları etkiler:

  • Temanın ve eklentilerin ziyaretçiye gösterdiği arayüz metinleri (“Devamını oku”, “Yorum yap”, arama kutusu, 404 sayfası metni gibi), tabii ki o dilde çevirisi varsa
  • Ay ve gün adları
  • <html> etiketindeki lang özniteliği
  • Profil dili seçmemiş kullanıcıların yönetim paneli

Profil dili (WordPress 4.7’den beri)

WordPress 4.7 ile her kullanıcı Users > Profile (Kullanıcılar > Profil) ekranındaki Language alanından kendi dilini seçebiliyor. Seçim, kullanıcının locale adlı meta alanına yazılır. Alanda “site varsayılanı” seçeneği de vardır; bunu seçen kullanıcı site dilini kullanır.

Hangi isteğin hangi dili kullanacağına determine_locale() fonksiyonu karar verir. Yönetim paneli isteklerinde kullanıcının dili (get_user_locale()), ön yüz isteklerinde site dili (get_locale()) kullanılır. Yani siteniz Türkçeyken bir editör paneli İngilizce görebilir; ziyaretçiye giden sayfa yine Türkçe kalır.

Profil ekranındaki dil alanı, sitede en az bir ek dil kuruluysa ya da kullanıcı dil kurabiliyorsa görünür. Kullanıcı kurulu olmayan bir dili seçerse ve yetkisi varsa WordPress o dili kaydederken indirir. Yetki yoksa ya da indirme başarısız olursa seçim boşaltılır ve kullanıcı site dilinde kalır.

Ayar Yeri Saklandığı yer Etkilediği yer
Site dili Ayarlar > Genel WPLANG seçeneği Ön yüz ve profil dili seçmemiş kullanıcıların paneli
Profil dili Kullanıcılar > Profil Kullanıcı meta alanı locale Yalnızca o kullanıcının paneli

Bir ayrıntı daha: 4.7 ile gelen switch_to_locale() fonksiyonu, kod içinde dili geçici olarak değiştirmeye yarar. Çekirdek ekibinin duyurusu bunu örneğin bir e-postayı alıcının dilinde göndermek için önerir. Bir eklentinin gönderdiği e-postaların hangi dilde gittiği bu yüzden eklentiden eklentiye değişebilir.

Dil değiştirince tema çevirileri nasıl gelir

Siteye Türkçe çekirdek paketi kurulunca tr_TR, kurulu diller listesine (get_available_languages()) girer. WordPress’in tema güncelleme denetimi (wp_update_themes()) kurulu temaların listesini, kurulu çevirileri ve bu dil listesini api.wordpress.org’a gönderir. Sunucu, kurulu temalar için Türkçe dil paketi varsa bunu yanıtta bildirir.

Bundan sonra iki yol vardır:

  1. Dashboard > Updates (Türkçe panelde Başlangıç > Güncellemeler) ekranının en altındaki Translations bölümünde “New translations are available” uyarısı ve Update translations düğmesi çıkar. Düğmeye bastığınızda çekirdek çevirileri wp-content/languages, tema ve eklenti çevirileri bu klasörün altındaki alt klasörlere kurulur.
  2. Elle bir şey yapmasanız da çeviri dosyaları varsayılan olarak otomatik arka plan güncellemesiyle kurulur. WordPress belgesine göre çeviri güncellemeleri küçük çekirdek sürümleri gibi varsayılan olarak açıktır ve auto_update_translation filtresiyle kapatılabilir.

Dil değiştirdikten hemen sonra tema hâlâ İngilizceyse, önce Güncellemeler ekranına bakıp çeviri denetimini elle yenilemek gerekir. Çeviri hiç görünmüyorsa genellikle temanın Türkçe dil paketi yoktur. Türkçe dil paketinin ne zaman oluştuğu, yani %90 eşiği, dil paketi %90 kuralı yazısının konusu.

Verimize göre ayrı sayfası olan 107 tema ile 15 varsayılan Twenty temasından oluşan 122 temanın 54’ü için WordPress.org çeviri API’si Türkçe (tr_TR) dil paketi döndürüyor. 15 varsayılan temanın hepsi bu 54’ün içinde. Kalan 68 temada panelden otomatik gelen bir Türkçe paket yok. Tam çevrilmiş temaların listesi Türkçe seviyesi tam sayfasında, ölçümün nasıl yapıldığı veri ve yöntem sayfasında. Paket yoksa ya da kendi çevirinizi kullanmak istiyorsanız dosyaları elle yerleştirmeniz gerekir; bunların güncellemede neden silinebileceğini po ve mo dosyaları yazısında anlattık.

html lang ve dir öznitelikleri

Klasik temalar header.php dosyasında <html <?php language_attributes(); ?>> satırını kullanır. Blok temalarında bu etiketi çekirdeğin template-canvas.php şablonu aynı fonksiyonla basar. Fonksiyonun arkasındaki get_language_attributes() iki şey yapar:

  • Dil sağdan sola yazılıyorsa (is_rtl() doğruysa) dir="rtl" ekler.
  • lang değerini get_bloginfo( 'language' ) ile alır. Bu değer, çeviri dosyasında html_lang_attribute dizesi için tanımlanmış bir dil etiketi varsa onu, yoksa geçerli yerel ayarın alt çizgisinin kısa çizgiye çevrilmiş hâlini kullanır. Türkçe çekirdek dil paketi bu dize için tr değerini tanımladığı için Türkçe sitelerde sonuç lang="tr" olur (WordPress 7.1.3 Türkçe paketi, 18 Ekim 2026).

Etiket ön yüzde site dilinden üretilir. Profil dilini İngilizce yapmanız ziyaretçinin gördüğü lang değerini değiştirmez. Kontrol etmek için sayfa kaynağını açıp ilk satırlarda <html lang="tr" ifadesini arayabilirsiniz. lang değeri tarayıcının heceleme, ekran okuyucunun telaffuz ve CSS’in büyük harf dönüşümü gibi dile bağlı davranışlarını etkiler; Türkçe İ/ı dönüşümüyle ilgili ayrıntılar Türkçe karakter sorunları yazısında. dir özniteliğinin tema seçimine etkisini erişilebilir ve RTL temalar yazısında ele aldık.

Saat dilimi, tarih biçimi ve hafta başlangıcı

Aynı Genel Ayarlar ekranında dilden bağımsız ama Türkçe bir sitenin görünümünü doğrudan etkileyen dört alan daha vardır.

Saat dilimi (Timezone). WordPress belgesi sabit bir UTC farkı yerine sizinle aynı saat dilimindeki bir şehri seçmenizi önerir. Türkiye için listede İstanbul bulunur. Yazıların yayın saati ve zamanlanmış yazılar bu ayara göre hesaplanır.

Tarih biçimi ve saat biçimi. Belgeye göre bu iki ayar sitenizin ön yüzünde tarih göstermek için tema geliştiricilerine yöneliktir ve yönetim ekranlarındaki tarih gösterimini kontrol etmez. Biçim PHP tarih karakterleriyle yazılır:

Biçim Çıktı (18 Ekim 2026, 13.05)
j F Y 18 Ekim 2026
d.m.Y 18.10.2026
H:i 13:05

Ay ve gün adlarını Türkçeye çeviren biçim ayarı değil, dil paketidir. wp_date() fonksiyonu ay ve gün adlarını geçerli dilin WP_Locale nesnesinden alır; site dili Türkçeyse F karakteri “Ekim” olarak çıkar. Tarih biçimini değiştirdiğiniz hâlde temanızda tarih aynı kalıyorsa tema bu ayarı okumuyor, kendi biçimini kullanıyordur.

Haftanın ilk günü (Week Starts On). Takvimlerde ilk sütunda hangi günün duracağını belirler. Belgeye göre varsayılan değer pazartesidir, bu da Türkiye’deki kullanımla örtüşür. Ayar, takvim bloğu gibi WordPress takvimlerini etkiler.

Tüm bu ayarları sonradan kontrol etmenin kısa bir yolu da var: Tools > Site Health > Info (Türkçe panelde Araçlar > Site sağlığı > Bilgi) ekranının WordPress bölümünde site dili, kullanıcı dili ve saat dilimi bir arada listelenir.

Kaynaklar

  1. WordPress.org Documentation, Settings General screen
  2. Make WordPress Core, User Admin Languages and Locale Switching in 4.7
  3. Make WordPress Core, Language chooser in 4.0
  4. WordPress.org Documentation, Dashboard Updates screen
  5. WordPress Developer Resources, determine_locale()
  6. WordPress Developer Resources, get_language_attributes()
  7. WordPress Developer Resources, wp_update_themes()
  8. WordPress Advanced Administration, Upgrading WordPress (otomatik çeviri güncellemeleri)
  9. WordPress.org Documentation, Site Health screen

Bu yazıdaki tema rakamları 18 Ekim 2026 tarihli WordPress.org verisinden alındı. Bir hata gördüyseniz bize yazın.

Devamını okuyun