Ç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ü sunar.

Uygulamanızı farklı dillere çevirmeye giriş için Farklı dilleri ve kültürleri destekleme bölümünü okuyun.

1. Şekil. Ç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 dillere ait 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ı olacak Android Studio özelliklerinden yararlanmanız gerekir. Profesyonel çeviri hizmetleri hakkında bilgi için Çeviri hizmetleri siparişi verme bölümünü inceleyin.

Çeviri Düzenleyici'yi açma

Ç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örüntüler.

    Not: strings.xml dosyalarını çevirdiğinizde, projenizde dili belirten son eklerin olduğu birden fazla değer klasörü bulunur (ör. İspanyolca için değerler-es). Varsayılan strings.xml dosyanız her zaman values (sonek yok) klasöründedir.

Şekil 1'de, çeviri çalışması tamamlanmadan önce basit bir uygulama için Ç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. Tekrar eski durumuna getirmek için projeyi kapatıp yeniden açın.

Tasarım Düzenleyici'den aç

Varsayılan ve çevrilmiş metninizi düzeninize daha uygun olacak ş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 edinmek 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 için 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ın

Çeviri Düzenleyici'de, bu satırdaki metnin çevrilmesini istemediğinizi belirtmek için Çevrilemez'i seçebilirsiniz. Çevrilmesini istemediğiniz metinler, 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. Bir yerel ayar, dilden daha fazlasını tanımlar. Bir yerel ayar; tarih ve saat, para birimleri, ondalıklar gibi değerler için ülkeye bağlı biçimlendirme 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üzenleyicisi'nde görünür ve strings.xml dosyası içeren bir values-* klasörü projeye eklenir. Örneğin, İspanyolca için values-es.

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

Bir dili Çeviri Düzenleyici'de sütundaki her değeri silerek silebilir (bkz. Metin düzenleme, ekleme veya silme) veya aşağıdaki adımları uygulayarak bu dil için proje klasörünü 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ını doğrudan strings.xml dosyasında veya Çeviri Düzenleyici'de kullanabilirsiniz. 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ırın veya aksan işaretlerini destekleyen bir klavyeniz varsa doğrudan liste görünümüne yazın.
  3. Sekme tuşunu kullanarak 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çin ve Delete'e basın.
  3. Sekme tuşunu kullanarak 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 bir klavye kopyalayıp yapıştırın veya aksan işaretlerini destekleyen bir klavyeniz varsa doğrudan Çeviri alanına yazın.
  3. Sekme tuşunu kullanarak 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çin ve Delete tuşuna basın.

Anahtar ekleme ve silme

Çeviri Düzenleyici'deki Anahtar sütununda, strings.xml dosyalarınızdaki her bir veri öğesi için benzersiz tanımlayıcılar listelenir. Çeviri Düzenleyici'yi kullanarak 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ı bilir ve anahtarı silmeden önce gerekli ayarlamaları yapma fırsatı elde edersiniz. Güvenli Silme yeniden inceleme özelliği, anahtarı sildikten sonra kodunuzun 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. İletişim kutusunu sil

    Silinen anahtara referans (kullanım) yoksa veya tüm referanslar güvenli bir şekilde daraltılabiliyorsa anahtar silinir. Aksi takdirde, Çeviri Düzenleyici'de algılanan sorunlarla ilgili bilgilerin yer aldığı Algılanan Kullanımlar iletişim kutusu gösterilir.

    5. Şekil. İletişim kutusunu sil

  4. Hangi verilerin silineceğini incelemek için Kullanımları Görüntüle'yi seçin. Güvenli Silme Çakışmalarını Bul iletişim kutusunda, ilgili kodu düzenleyebilmeniz için silinmesi güvenli olmayan tüm kullanımlar gösterilir.

    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 yapabilmek için Kaynağa Atla'yı seçin.
  6. İlgilenmeniz gereken başka kullanım 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 imleci kırmızı metnin üzerine getirerek 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 dosyaları yaptığınız değişikliklerle 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şaretli ancak İspanyolca çevirisi mevcuttur. Hatayı düzeltmek için İspanyolca çeviriyi silin.
  • Şekil 7'de, next_page satırında Fransızca çevirinin eksik olduğu gösterilmektedir. Klavyenizi kullanarak Page Suivante'yi hücreye kopyalayın ve hatayı düzeltin. Klavyeyle yapılan 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 değiştirin:

  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 için 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.

    8. Şekil. İspanyolcanı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.

9. Şekil. İ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 tr > Dil'i seçin.

10. Şekil. Varsayılan dile ayarla

Yerelleştirilebilir metni yönetin ve test edin

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 çevrilmesi için kaynak depoya göndermeden ö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, TextView, ConstraintLayout ve LinearLayout öğelerinde çift yönlü metin desteğine olanak tanıyan bir yeniden düzenleme komutuna sahiptir. Böylece uygulamalarınız hem soldan sağa (LTR) hem de sağdan sola (RTL) komut dosyalarında metin görüntüleyebilir ve metinleri düzenleme izni verebilir. Bu komut ayrıca uygulama kullanıcı arayüzü düzenleri 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üzenle > Mümkün olduğunda RTL desteği ekle'yi seçin.

    11. Şekil. RTL desteği ekle

    • 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ş Özellikleriyle Değiştir'i seçin. Bu durumda, özellikleriniz "left" ve "right" yerine "start" ve "end" değerlerini kullanmalıdır. Örneğin, android:paddingLeft değeri 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'niz hem android:paddingLeft hem de android:paddingStart kullanmalı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 metnin 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 sağdan sola 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, "Hello World!", "!Hello World" haline gelir. LTR metninin RTL'ye geçişini görmek için uygulamanızda bir RTL dili kullanmanız gerekir. İngilizceyi kullanmak ve test amacıyla metin geçişini RTL'ye görmek istiyorsanız sahte yerel ayarları kullanın. Sözde yerel ayarlar, yeniden düzenleme komutundan ve yön özelliklerinden bağımsızdır.

Yol tarifi özelliklerine erişmek ve bu ö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önlü karakter, 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: Güçlü RTL karakteri içeriyorsa paragraf yönü RTL'dir. Aksi takdirde, 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'dır.
    • locale: Paragraf yönü sistem yerel ayarından gelir.
    • Inherit: Varsayılan. Üst öğede ayarlanan yönü 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ış bir yerel ayar simülasyonudur. Sözde yerel ayarlar, yerelleştirilmiş tüm mesajlar için İngilizce okunabilen anında ve otomatik çeviriler sağlar. Bu, çevrilemeyen iletileri kaynak kodunuzda yakalamanızı sağlar.

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.