Çeviri Düzenleyici ile kullanıcı arayüzünü yerelleştirme

Çeviri Düzenleyici, tüm varsayılan ve çevrilmiş dize kaynaklarınızın birleştirilmiş ve düzenlenebilir bir görünümünü sağlar.

Uygulamanızı farklı dillere çevirmeye giriş için Farklı dilleri ve kültürleri destekleme konusunu okuyun.

Şekil 1. Çeviriden önce uygulama metnini gösteren Çeviri Düzenleyici

Dize kaynakları

Bir projenin dize kaynakları strings.xml dosyalarında bulunur. Projenizde, uygulamanızın varsayılan dilindeki dize kaynaklarını içeren varsayılan bir strings.xml dosyası var. Bu, uygulama kullanıcılarınızın çoğunun konuşmasını beklediğiniz dildir. Uygulamanızın barındırmasını istediğiniz diğer diller için dize kaynakları içeren strings.xml dosyalarını da çevirebilirsiniz.

Varsayılan strings.xml dosyanızı tamamladıktan sonra çevirileri kendiniz ekleyebilir veya çeviriler için profesyonel bir hizmetten ödeme yapabilirsiniz. Her iki durumda da, yerelleştirilebilir metni yönetmenize ve test etmenize yardımcı olması için Android Studio özelliklerinden yararlanmanız gerekir. Profesyonel çeviri hizmetleri hakkında bilgi için Çeviri hizmetleri sipariş etme başlıklı makaleyi inceleyin.

Çeviri Düzenleyici'yi açın

Çeviri Düzenleyici'ye Android Studio'da aşağıdaki yerlerden erişebilirsiniz.

Android görünümünden açma

  1. Soldaki Proje > Android panelinde ModuleName > çözünürlük > değerler'i seçin.
  2. strings.xml dosyasını sağ tıklayın ve Çeviri Düzenleyici'yi Aç'ı seçin.

    Çeviri Düzenleyici, strings.xml dosyasındaki anahtar ve değer çiftlerini gösterir.

    Not: strings.xml dosyalarını çevirdiğinizde, projenizde dili belirten son eklerle (İspanyolca için values-es gibi) karşılık gelen birden fazla values klasörü olur. Varsayılan strings.xml dosyanız her zaman değerler (sonek yok) klasöründedir.

Şekil 1'de, çeviri tamamlanmadan önce basit bir uygulamanın Çeviri Düzenleyici'deki varsayılan uygulama metni (bu örnekte İngilizce) gösterilmektedir. Çevrilen strings.xml dosyalarının içeriği, Şekil 2'de gösterildiği gibi Çevrilemez sütununun sağ tarafında, her dil için bir sütun olacak şekilde görünür.

string.xml içinden aç

Çeviri Düzenleyici'ye strings.xml dosyalarınızın herhangi birinden erişebilirsiniz.

  1. Soldaki Proje > Android panelinde ModuleName > çözünürlük > değerler'i seçin.
  2. strings.xml dosyasını çift tıklayarak düzenlemek için açın.
  3. strings.xml dosyasında, sağ üst köşedeki Düzenleyiciyi aç bağlantısını tıklayın.

Not: Bildirimi gizle bağlantısını tıklarsanız Düzenleyiciyi aç bağlantısı kaybolur. Geri getirmek için projeyi kapatıp yeniden açın.

Tasarım Düzenleyici'den aç

Varsayılan ve çevrilmiş metninizi düzeninize daha iyi uyacak şekilde düzenlemek için Düzen Düzenleyici'nin Tasarım Düzenleyicisi'nden Çeviri Düzenleyici'yi açabilirsiniz. Tasarım Düzenleyici'de dil değiştirme hakkında bilgi için Çevrilmiş metni Tasarım Düzenleyici'de görüntüleme konusuna bakın.

  1. Soldaki Proje > Android panelinde ModuleName > çözünürlük > düzen'i seçin.
  2. content_main.xml dosyasını çift tıklayarak düzenlemek üzere açın.
  3. Tasarım Düzenleyici'yi görüntülemek için sol alt köşedeki Tasarım sekmesini tıklayın.
  4. Tasarım Düzenleyici'de Dil açılır listesini seçin.
  5. Çevirileri düzenle'yi seçin .

Çevrilemeyen satırları yapılandır

Bu satırdaki metnin çevrilmesini istemediğinizi belirtmek için Çeviri Düzenleyici'de Çevrilemez'i seçebilirsiniz. Çevrilmesini istemediğiniz metin, ticari adlar ve ticari markalar gibi ürüne özel metinler veya çevirisi olmayan teknik terimler olabilir.

Çevrilemez'i işaretlediğinizde varsayılan strings.xml dosyasındaki ilgili satıra translatable="false" değeri eklenir. Aşağıdaki örnekte en üst satırdaki EasyApp ürün adı olduğu için çevrilmemiştir.

<resources>
    <string name="app_name" translatable="false">EasyApp</string>
    <string name="action_settings">Settings</string>
    <string name="easy_app">I am a Simple App!</string>
    <string name="next_page">Next Page</string>
    <string name="second_page_message">I am the Second Page!</string>
    <string name="title_activity_second">SecondActivity</string>
</resources>

Dil ekleme ve silme

Çeviri Düzenleyici, BCP 47'yi destekler ve hedeflenen yerelleştirmeler için yerel ayar ile bölge (ülke) kodlarını tek bir seçimde birleştirir. Yerel ayar, dilden daha fazlasını tanımlar. Yerel ayarlar; tarih ve saat, para birimleri ve ondalık sayılar gibi öğelerin ülkeye bağlı biçimlendirmesini içerir.

Dil eklemek için aşağıdakileri yapın:

  1. Çeviri Düzenleyici'de yerküre simgesini tıklayın.
  2. Açılır listeden eklemek istediğiniz dili seçin.

    Yeni dil, Çeviri Düzenleyici'de görünür ve projeye, strings.xml dosyası içeren bir values-* klasörü eklenir. Örneğin, İspanyolca için values-es.

Bir dili silmek için aşağıdakileri yapın:

Sütundaki her değeri silerek bir dili Çeviri Düzenleyici'de silebilirsiniz (bkz. Metin düzenleme, ekleme veya silme) veya bu dil için proje klasörünü aşağıdaki şekilde silebilirsiniz:

  1. Soldaki Proje > Android panelinde ModuleName > çözünürlük'ü seçin.
  2. Silmek istediğiniz dil için values-* klasörünü sağ tıklayın. Örneğin, Hintçe için values-hi.
  3. Klasörü ve içindeki strings.xml dosyasını silmek için açılır listeden Sil'i seçin.

Metin düzenleme, ekleme ve silme

Metin ayarları üzerinde doğrudan strings.xml dosyasında veya Çeviri Düzenleyici aracılığıyla işlem yapabilirsiniz. Bu bölümde Çeviri Düzenleyici yaklaşımı açıklanmaktadır. Çeviri Düzenleyici'de, liste görünümünden veya Çeviri Düzenleyici'nin alt kısmındaki Çeviri alanından metin düzenleyebilir, ekleyebilir veya silebilirsiniz.

2. Şekil. Üstte liste görünümü ve altta Çeviri alanı

Liste görünümü

Metin düzenlemek veya eklemek için aşağıdakileri yapın:

  1. Düzenlemek veya metin eklemek istediğiniz hücreyi çift tıklayın.
  2. Klavyede kopyalayıp yapıştırma işlemi yapın veya aksan işaretlerini destekleyen bir klavyeniz varsa doğrudan liste görünümüne yazın.
  3. Sekme tuşuna veya imleci alanın dışına taşıyın.

Metni silmek için aşağıdakileri yapın:

  1. Silmek istediğiniz hücreyi çift tıklayın.
  2. Liste görünümünde metni seçip Delete tuşuna basın.
  3. Sekme tuşuna veya imleci alanın dışına taşıyın.

Çeviri alanı

Metin düzenlemek veya eklemek için aşağıdakileri yapın:

  1. Liste görünümünde, metin eklemek veya düzenlemek istediğiniz hücreyi bir kez tıklayın.
  2. Çeviri alanında, klavyeyi kopyalayıp yapıştırma işlemi gerçekleştirin veya aksan işaretlerini destekleyen bir klavyeniz varsa doğrudan Çeviri alanına yazın.
  3. Sekme tuşuna veya imleci alanın dışına taşıyın.

Metni silmek için aşağıdakileri yapın:

  1. Silmek istediğiniz hücreyi bir kez tıklayın.
  2. Çeviri alanında metni seçip Delete tuşuna basın.

Anahtar ekleme ve silme

Çeviri Düzenleyici'deki Anahtar sütununda, strings.xml dosyalarınızdaki her bir veri öğesinin benzersiz tanımlayıcıları listelenir. Çeviri Düzenleyici aracılığıyla anahtar ekleyip silebilirsiniz. Bir anahtarı sildiğinizde Çeviri Düzenleyici bu anahtarı ve ilişkili tüm çevirilerini siler. Çeviri Düzenleyici, bir anahtarı silmek için Güvenli Silme yeniden düzenleme özelliğini kullanır. Böylece, anahtar metninin başka bir yerde kullanılıp kullanılmadığını öğrenebilirsiniz ve anahtarı silmeden önce gerekli ayarlamaları yapma şansınız olur. Safe Delete (Güvenli Silme) çalışma bölmesi, anahtar sildikten sonra kodunuzun hâlâ derlenmeye devam etmesini sağlar.

Anahtar eklemek için aşağıdakileri yapın:

  1. Çeviri Düzenleyici'de Anahtar Ekle'yi tıklayın.
  2. İletişim kutusuna bir anahtar adı, varsayılan değer ve varsayılan strings.xml dosyasının konumunu girin.

    3. Şekil. Anahtar ekle

Bir anahtarı silmek için aşağıdakileri yapın:

  1. Çeviri Düzenleyici'de, silmek istediğiniz anahtarı seçin.
  2. Anahtarları Kaldır tıklayın.
  3. Sil iletişim kutusunda, güvenli silme isteyip istemediğinize, yorumlarda ve dizelerde arama yapmak isteyip istemediğinize karar verip Tamam'ı tıklayın.

    4. Şekil. Sil iletişim kutusu

    Silinen anahtara yönelik referans (kullanım) yoksa veya tüm referanslar güvenli bir şekilde daraltılabiliyorsa anahtar silinir. Aksi takdirde, Çeviriler Düzenleyici, algılanan sorunlarla ilgili bilgilerin yer aldığı Algılanan Kullanımlar iletişim kutusunu görüntüler.

    5.Şekil Sil iletişim kutusu

  4. Silinecekleri incelemek için Kullanımları Göster'i seçin. Güvenli Silme Çakışmalarını Bul iletişim kutusu, silinmesi güvenli olmayan tüm kullanımları gösterir. Böylece ilgili kodunuzu düzenleyebilirsiniz.

    6.Şekil Güvenli olmayan kullanımlar

  5. İçerik menüsünü görüntülemek için bir kullanımı sağ tıklayın ve gerekli değişiklikleri yapmak için Kaynağa Atla'yı seçin.
  6. İlgilenilmesi gereken başka kullanımlar olmadığından emin olmak için Güvenli Silme Çakışmalarını Bul panelinde Güvenli Silmeyi Yeniden Çalıştır'ı seçin.
  7. Kullanımlar temizlendiğinde, anahtarı silmek için Yeniden Düzenleme Yap'ı tıklayın.

Hataları düzelt

Şekil 7'de İngilizce, İspanyolca ve Fransızca strings.xml dosyalarının içeriğini görüntüleyen Çeviri Düzenleyici gösterilmektedir. Kırmızı metin, hatalı çizgileri gösterir.

7. Şekil. Kırmızı metin, düzeltmeniz gereken bir hata durumunu gösterir.

Bir hatayı düzeltmek için fareyle kırmızı metnin üzerine gelerek sorunun açıklamasını ve çözümünü görüntüleyin.

Çeviri Düzenleyici'de değişiklik yaptığınızda temel strings.xml dosyası değişikliklerinizle güncellenir. Bir strings.xml dosyasında değişiklik yaptığınızda, Çeviri Düzenleyici'deki ilgili sütun yaptığınız değişikliklerle güncellenir.

Örnek Çeviri Düzenleyici düzeltmeleri:

  • Şekil 7'de, app_name satırının Çevrilemez seçeneği işaretlenmiş ancak İspanyolca çeviri yapılmış gösterilmektedir. Hatayı düzeltmek için İspanyolca çeviriyi silin.
  • Şekil 7'de, next_page satırında Fransızca çevirinin olmadığı gösterilmektedir. Klavyenizi kullanarak Page Suivante'yi hücreye kopyalayıp hatayı düzeltin. Klavyeyle kopyalayıp yapıştırma işlemi, aksan işaretli metni hücreye kopyalar.

Çevrilmiş metni Tasarım Düzenleyici'de görüntüleyin

Çevrilen metnin uygulama düzeninizde nasıl göründüğünü görmek için Tasarım Düzenleyici'de metni aşağıdaki adımları uygulayarak varsayılan ve çevrilmiş sürümler arasında geçiş yapın:

  1. Soldaki Proje > Android panelinde ModuleName > çözünürlük > düzen'i seçin.
  2. content_main.xml dosyasını çift tıklayarak düzenlemek üzere açın.
  3. Tasarım Düzenleyici'yi görüntülemek için sol alt köşedeki Tasarım sekmesini tıklayın.
  4. Tasarım Düzenleyici'de Dil açılır listesini seçin.
  5. Çevirileri düzenle'yi seçin.
  6. Uygulamanızı görüntülemek için kullanmak istediğiniz dili seçin.

    Şekil 8. İspanyolca'nın seçili olduğu dil açılır listesi

Tasarım Düzenleyici, uygulama düzeninizi seçilen dilde (bu örnekte İspanyolca) görüntüler.

Şekil 9. İspanyolca çevrilmiş metni gösteren Tasarım Düzenleyici

Tasarım Düzenleyici'yi varsayılan dile ayarlayın

Dili tekrar varsayılana ayarlamak için es > Dil'i seçin.

Şekil 10. Varsayılan dile ayarla

Yerelleştirilebilir metni yönetme ve test etme

Android platformu ve Android Studio, yerelleştirilebilir uygulama metninizi yönetmenize ve test etmenize yardımcı olacak çeşitli özellikler sunar. Bu özellikler, Arapça veya İbranice gibi sağdan sola doğru olan (RTL) komut dosyalarıyla ilgili sorunları hedeflemenize yardımcı olacak seçeneklere sahiptir. Yerelleştirilebilir metninizi test etmek, mesajlarınızı daha sonra çeviri için gönderilecek kaynak depoya kaydetmeden önce kullanıcı arayüzü metninde ve düzeninde ayarlamalar yapmanıza olanak tanır.

Projenizi RTL desteği için yeniden düzenleyin

Android Studio'nun TextView, ConstraintLayout ve LinearLayout öğelerinde çift yönlü metin desteğine sahip bir yeniden düzenleme komutu vardır. Böylece uygulamalarınız hem soldan sağa (LTR) hem de sağdan sola (RTL) komut dosyalarını görüntüleyip düzenleyebilir. Bu komut, uygulama kullanıcı arayüzü düzenlerinin ve tüm görünüm widget'larının otomatik olarak yansıtılmasını da sağlar. Metin yönü değişikliğini ve düzen yansıtmasını görmek için Düzen Düzenleyici'de metin ve düzen yönü özelliklerini de ayarlamanız gerekir.

Aşağıdaki prosedürde projenizi RTL desteği için nasıl yeniden düzenleyebileceğiniz gösterilmektedir:

  1. Şekil 11'de gösterilen iletişim kutusunu görüntülemek için Yeniden düzenleme > Mümkün olduğunda RTL desteği ekle'yi seçin.

    Şekil 11. RTL desteği ekleyin

    • AndroidManifest.xml dosyanızdaki <application> öğesi android:supportsRTL="true" özelliğine sahip değilse AndroidManifest.xml dosyasını güncelle onay kutusunu seçin.
    • Uygulamanızın targetSdkVersion değeri 17 veya daha yüksekse Sol/Sağ Özellikleri Başlangıç/Bitiş Özellikleri ile Değiştir'i seçin. Bu durumda, mülkleriniz "left" ve "right" yerine "start" ve "end" değerlerini kullanmalıdır. Örneğin android:paddingLeft, android:paddingStart olur.
    • Uygulamanızın targetSdkVersion değeri 16 veya daha küçükse -v17 Sürümleri Oluştur'u seçin. Bu durumda, XML'iniz her iki özellik grubunu da kullanmalıdır. Örneğin, XML'nizde hem android:paddingLeft hem de android:paddingStart kullanılmalıdır.
  2. Yeniden Düzenleme Önizlemesini Bul penceresini görüntülemek için Çalıştır'ı tıklayın.

    Şekil 12. Önizlemeyi kontrol etme

  3. Yeniden Düzenleme Yap'ı tıklayın.

Projenizi RTL desteği için yeniden düzenleme hakkında daha fazla bilgi edinmek isterseniz Android 4.2'de yerel RTL desteği sayfasını inceleyin.

Metin ve düzen yönü özellikleri

Sağdaki Özellikler penceresi, metin widget'larıyla kullanılacak textDirection özelliğini ve metin ve düzen bileşenlerinin yönünü değiştirmek için düzen widget'larıyla kullanılacak layoutDirection özelliğini sağlar. Yön özellikleri, sağdaki Özellikler penceresinde listelenir ve API Düzeyi 17 veya sonraki sürümlerle çalışır.

Metin yönü değişikliğini ve düzen yansıtmasını görmek için projeyi RTL desteği için yeniden düzenlemeniz gerekir. İngilizcede metin yönü değişikliği, yalnızca noktalama işaretlerini metnin sağ tarafından sol tarafına taşır. Örneğin, "Merhaba Dünya!", "!Merhaba Dünya" haline gelir. LTR metin geçişini sağdan sola doğru görmek için uygulamanızda bir RTL dili kullanmanız gerekir. İngilizce kullanmak ve test amacıyla metni RTL'ye dönüştürmek istiyorsanız sözde yerel ayarları kullanın. Sözde yerel ayarlar, yeniden düzenleme komutundan ve yön özelliklerinden bağımsızdır.

Yön özelliklerine erişmek ve özellikleri kullanmak için aşağıdakileri yapın:

  1. Düzen Düzenleyici'de bir metin widget'ı seçin.
  2. Özellikler penceresini açın ve kullanmak istediğiniz RTL özelliğini arayın.

    Özellik değerini ayarlamak için aşağıdakilerden birini seçin:

    • firstStrong: Kök görünüm için varsayılandır. İlk güçlü yön karakteri, paragraf yönünü belirler. Güçlü bir yön karakteri yoksa paragraf yönü, görünümün çözümlenen düzen yönüdür.
    • anyRtl: Paragraf yönü güçlü sağdan sola karakter içeriyorsa sağdan sola; aksi halde, güçlü LTR karakterleri içeriyorsa LTR'dir. İkisi de yoksa paragraf yönü görünümün çözümlenen düzen yönüdür.
    • ltr: Paragraf yönü LTR'dir.
    • rtl: Paragraf yönü sağdan sola.
    • locale: Paragraf yönü sistem yerel ayarından gelir.
    • devral: Varsayılan. Üst öğede ayarlanan yol tarifini kullanın.
  3. Ters çevrilmiş metni ve düzeni incelemek için uygulamayı çalıştırın.

Sözde yerel ayarlar

Sözde yerel ayar, bir uygulama çevrildiğinde kullanıcı arayüzü, düzen, sağdan sola ve diğer çeviri sorunlarına neden olan dillerin özelliklerini varsaymak için tasarlanmış simüle edilmiş bir yerel ayardır. Sözde yerel ayarlar, yerelleştirilmiş tüm mesajlar için İngilizce okunabilen anında ve otomatik çeviriler sağlar. Bu şekilde, kaynak kodunuzda çevrilemeyen mesajları yakalamanız mümkün olur.

Gerçek olmayan yerel ayarların nasıl kullanılacağı hakkında bilgi için Uygulamanızı Sözde Yerel Ayarlarla Test Etme bölümüne bakın.