Çeviri Düzenleyici, tüm varsayılan ve çevrilmiş dize kaynaklarınızın birleştirilmiş ve düzenlenebilir görünümünü sağlar.
Uygulamanızı farklı dillere çevirme hakkında bilgi edinmek için Farklı dilleri ve kültürleri destekleme başlıklı makaleyi inceleyin.
Şekil 1. Çeviri Düzenleyici'de uygulama metni çevrilmeden önce gösteriliyor.
Dize kaynakları
Bir projenin dize kaynakları strings.xml dosyalarında bulunur. Projenizde, uygulamanızın varsayılan dilinde dize kaynaklarını içeren bir varsayılan strings.xml dosyası bulunur. Bu dil, uygulama kullanıcılarınızın çoğunun konuşmasını beklediğiniz dildir. Ayrıca, uygulamanızın desteklemesini istediğiniz diğer diller için dize kaynakları içeren çevrilmiş strings.xml dosyalarınız da olabilir.
Varsayılan strings.xml dosyanızı tamamladıktan sonra çevirileri kendiniz ekleyebilir veya çevirileri yapması için profesyonel bir hizmete ö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 edinmek için Çeviri hizmetleri başlıklı makaleyi inceleyin.
Çeviri Düzenleyici'yi açma
Çeviri Düzenleyici'ye Android Studio'daki aşağıdaki yerlerden erişebilirsiniz.
Android görünümünden açma
- Soldaki Project > Android (Proje > Android) panelinde ModuleName > res > values'u (ModuleName > res > değerler) seçin.
- strings.xml dosyasını sağ tıklayın ve Open Translations Editor'ı (Çeviri Düzenleyici'yi Aç) seçin.
Çeviri Düzenleyici,
strings.xmldosyasındaki anahtar ve değer çiftlerini gösterir.Not:
strings.xmldosyalarını çevirdiğinizde projenizde, dili belirten sonekler içeren birden fazla karşılık gelen values klasörü bulunur. Örneğin, İspanyolca için values-es. Varsayılanstrings.xmldosyanız her zaman values (sonek yok) klasöründedir.
Şekil 1'de, çeviri çalışması yapılmadan önce basit bir uygulamanın Çeviri Düzenleyicisi'ndeki varsayılan uygulama metni (bu örnekte İngilizce) gösterilmektedir. Çevrilen strings.xml dosyaların içerikleri, Şekil 2'de gösterildiği gibi, her dil için bir sütun olacak şekilde Çevrilemez sütununun sağında gösterilir.
strings.xml dosyasından açma
strings.xml
dosyalarınızın herhangi birinden Çeviri Düzenleyici'ye erişebilirsiniz.
- Soldaki Project > Android (Proje > Android) panelinde ModuleName > res > values'u (ModuleName > res > değerler) seçin.
- Düzenlemek için strings.xml dosyasını çift tıklayın.
- strings.xml dosyasında sağ üst köşedeki Open editor (Düzenleyiciyi aç) bağlantısını tıklayın.
Çevrilemeyen satırları yapılandırma
Ç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 özgü metinler veya çevirisi olmayan teknik terimler olabilir.
Çevrilemez'i seçtiğinizde varsayılan strings.xml dosyasındaki ilgili satıra translatable="false" eklenir. Aşağıdaki örnekte, ü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 hedef yerelleştirmeler için yerel ayar ve bölge (ülke) kodlarını tek bir seçimde birleştirir. Yerel ayar, dilden daha fazlasını tanımlar. Yerel ayar; tarih, saat, para birimleri ve ondalık sayılar gibi öğeler için ülkeye bağlı biçimlendirmeyi içerir.
Dil eklemek için aşağıdakileri yapın:
- Çeviri Düzenleyici'de dünya simgesini
tıklayın. - Açılır listeden eklemek istediğiniz dili seçin. Yeni dil, Çeviri Düzenleyici'de görünür ve projeye values-* klasörü ile `strings.xml` dosyası eklenir. Örneğin, İspanyolca için values-es.
Bir dili silmek için aşağıdakileri yapın:
Çeviri Düzenleyici'de bir dili silmek için sütundaki her değeri silebilirsiniz (bkz. Metin düzenleme, ekleme ve silme) veya ilgili dilin proje klasörünü aşağıdaki şekilde silebilirsiniz:
- Soldaki Project > Android (Proje > Android) panelinde ModuleName > res'i seçin.
- Silmek istediğiniz dilin values-* klasörünü sağ tıklayın. Örneğin, Hintçe için values-hi.
- Klasörü ve strings.xml dosyasını silmek için 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 değiştirebilirsiniz. Bu bölümde, Çeviri Düzenleyici yaklaşımı açıklanmaktadır. Çeviri Düzenleyici'de, liste görünümünü veya Çeviri Düzenleyici'nin alt kısmındaki Çeviri alanını kullanarak metin düzenleyebilir, ekleyebilir veya silebilirsiniz.
Şekil 2. Üstte liste görünümü, altta Çeviri alanı
Liste görünümü
Metni düzenlemek veya eklemek için aşağıdakileri yapın:
- Düzenlemek veya metin eklemek istediğiniz hücreyi çift tıklayın.
- Klavyeyle kopyalayıp yapıştırın veya aksan işaretlerini destekleyen bir klavyeniz varsa doğrudan liste görünümüne yazın.
- Sekme tuşuna basın veya imleci alanın dışına taşıyın.
Metni silmek için aşağıdakileri yapın:
- Silmek istediğiniz hücreyi çift tıklayın.
- Liste görünümünde metni seçip Sil'e basın.
- Sekme tuşuna basın veya imleci alanın dışına taşıyın.
Çeviri alanı
Metni düzenlemek veya eklemek için aşağıdakileri yapın:
- Liste görünümünde, düzenlemek veya metin eklemek istediğiniz hücreyi tek tıklayın.
- Çeviri alanında klavyeyle kopyalayıp yapıştırın veya klavyenizde aksan işaretleri destekleniyorsa doğrudan Çeviri alanına yazın.
- Sekme tuşuna basın veya imleci alanın dışına taşıyın.
Metni silmek için aşağıdakileri yapın:
- Silmek istediğiniz hücreyi tek tıklayın.
- Çeviri alanında metni seçip Sil'e 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'yi kullanarak anahtar ekleyebilir ve silebilirsiniz. Bir anahtarı sildiğinizde Çeviri Düzenleyici, anahtarı ve ilişkili tüm çevirilerini siler. Çeviri Düzenleyici, bir anahtarı silmek için Safe Delete yeniden düzenlemesini kullanır. Böylece, anahtar metninin başka bir yerde kullanılıp kullanılmadığını bilir ve anahtarı silmeden önce gerekli düzenlemeleri yapma fırsatı bulursunuz. Güvenli silme yeniden düzenlemesi, anahtarı sildikten sonra kodunuzun derlenmeye devam etmesini sağlar.
Anahtar eklemek için aşağıdakileri yapın:
- Çeviri Düzenleyici'de Anahtar Ekle'yi tıklayın
. - İletişim kutusunda bir anahtar adı, varsayılan değer ve varsayılan strings.xml dosyasının konumunu girin.

Şekil 3. Anahtar ekle
Bir anahtarı silmek için aşağıdakileri yapın:
- Çeviri Düzenleyici'de silmek istediğiniz anahtarı seçin.
- Anahtarları Kaldır'ı
tıklayın. - Sil iletişim kutusunda, güvenli silme işlemi yapmak isteyip istemediğinize ve yorumlarda ve dizelerde arama yapmak isteyip istemediğinize karar verin, ardından Tamam'ı tıklayın.

Şekil 4. Silme iletişim kutusu
Silinen anahtara referans (kullanım) yoksa veya tüm referanslar güvenli bir şekilde daraltılabiliyorsa anahtar silinir. Aksi takdirde, Çeviri Düzenleyici, algılanan sorunlarla ilgili bilgileri içeren Kullanımlar Algılandı iletişim kutusunu gösterir.
Şekil 5. Silme iletişim kutusu
- Silinecekleri incelemek için Kullanımları Görüntüle'yi seçin. Güvenli Silme Çakışmalarını Bul iletişim kutusunda, silinmesi güvenli olmayan tüm kullanımlar gösterilir. Böylece ilgili kodunuzu düzenleyebilirsiniz.

Şekil 6. Güvenli olmayan kullanımlar
- Bağlam menüsünü görüntülemek için bir kullanımı sağ tıklayın ve Kaynağa Git'i seçin. Böylece gerekli değişiklikleri yapabilirsiniz.
- Güvenli silme çakışmalarını bul panelinde, başka dikkat edilmesi gereken kullanım olmadığından emin olmak için Güvenli silmeyi yeniden çalıştır'ı seçin.
- Kullanımlar temizlendiğinde anahtarı silmek için Yeniden düzenle'yi tıklayın.
Hataları düzeltme
Şekil 7'de, İngilizce, Fransızca ve İspanyolca strings.xml dosyalarının içeriğini gösteren Çeviri Düzenleyici yer almaktadır. Kırmızı metin, hata içeren satırları gösterir.
Şekil 7. 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 ve çözümünün açıklamasını görüntüleyin.
Çeviri Düzenleyici'de değişiklik yaptığınızda temel alınan strings.xml dosyaları değişikliklerinize göre güncellenir. Bir strings.xml dosyasında değişiklik yaptığınızda Çeviri Düzenleyici'deki ilgili sütun, değişikliklerinize göre güncellenir.
Örnek Çeviri Düzenleyici düzeltmeleri:
- Şekil 7'de, app_name satırında Çevrilemez seçeneğinin işaretli olduğu ancak İspanyolca çevirinin sağlandığı gösteriliyor. Hatayı düzeltmek için İspanyolca çeviriyi silin.
- Şekil 7'de, next_page satırında Fransızca çevirinin eksik olduğu gösterilmektedir. Hatayı düzeltmek için klavyenizi kullanarak Page Suivante ifadesini hücreye kopyalayın. Klavyeyle yapılan kopyalama ve yapıştırma işleminde, metin aksan işaretleriyle birlikte hücreye kopyalanır.
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 (RTL) yazılan dillerle ilgili sorunları hedeflemenize yardımcı olacak seçenekler sunar. Yerelleştirilebilir metninizi test ederek, mesajlarınızı daha sonra çeviri için gönderilmek üzere kaynak deposuna göndermeden önce kullanıcı arayüzü metninde ve düzeninde ayarlamalar yapabilirsiniz.
Sağdan sola yazılan diller için destek
Jetpack Compose, sağdan sola (RTL) düzenleri yerel olarak işler. Düzen değiştiriciler
ve API'ler, left ve right gibi mutlak yönler yerine start ve end gibi yön kavramları üzerine kurulmuştur. Sistem dili sağdan sola yazılan bir yerel ayara değiştiğinde Compose, bu düzenleri sizin için otomatik olarak yansıtır.
Uygulamanızın sağdan sola yerel ayarını tanıması ve bu yansıtmayı tetiklemesi için uygulamanızın manifest dosyasını kullanarak bu özelliği etkinleştirmeniz gerekir.
Sağdan sola dil desteğini etkinleştirmek için aşağıdakileri yapın:
AndroidManifest.xmldosyanızı açın.<application>öğesineandroid:supportsRtl="true"özelliğini ekleyin:
<manifest ... >
<application
...
android:supportsRtl="true">
</application>
</manifest>
Compose'un metin düzenini, yansıtmayı ve özel RTL yapılandırmalarını nasıl işlediği hakkında daha fazla bilgi edinmek için RTL dilleriyle çalışma başlıklı makaleye bakın.
Metin yönünü manuel olarak ayarlama
Jetpack Compose'da, düzeni veya metin yönlerini zorlamak için görsel Özellikler penceresini kullanmazsınız. Compose, sistem yerel ayarına göre RTL yansıtmayı otomatik olarak işler.
Ancak belirli bir metin öğesinin yönünü manuel olarak geçersiz kılmanız gerekiyorsa (örneğin, sağdan sola yazılan bir düzende soldan sağa yazılan bir dize görüntülemek), TextDirection nesnesini TextStyle öğenize iletebilirsiniz.
Desteklenen değerler:
TextDirection.Content: (Default): Yönü, ilk güçlü yön karakterinden çıkarır.TextDirection.Ltr: Soldan sağa yönü zorlar.TextDirection.Rtl: Sağdan sola yönü zorlar.
Oluşturma'da metin biçimlendirme ve manuel metin yönü yapılandırma hakkında daha fazla bilgi edinmek için Metin biçimlendirme başlıklı makaleyi inceleyin.
Uygulamanızda yerelleştirilmiş dizeleri kullanma
Çeviri Düzenleyici'yi kullanarak dizelerinizi ekleyip çevirdikten sonra, temel res/values/strings.xml dosyalarınız otomatik olarak güncellenir ve yerelleştirilmiş kaynakları doğrudan kullanıcı arayüzünüzde kullanabilirsiniz.
Yerelleştirilmiş metinleri görüntüleme, sağdan sola (RTL) yazılan metinleri doğal olarak işleme ve farklı yerel ayarları ve sahte yerel ayarları test etmek için @Preview
kullanma hakkında bilgi edinmek için Compose'daki Kaynaklar'ın Dizeler bölümüne bakın.
Sözde yerel ayarlar
Sözde yerel ayar, bir uygulamanın çevrilmesi sırasında kullanıcı arayüzü, düzen, sağdan sola yazma ve diğer çeviri sorunlarına neden olan dillerin özelliklerini varsaymak üzere tasarlanmış simüle edilmiş bir yerel ayardır. Sözde yereller, yerelleştirilebilir tüm mesajlar için İngilizce olarak okunabilen anlık ve otomatik çeviriler sağlar. Bu, kaynak kodunuzdaki çevrilemeyen mesajları yakalamanızı sağlar.
Gerçek olmayan yerel ayarları kullanma hakkında bilgi edinmek için Uygulamanızı gerçek olmayan yerel ayarlarla test etme başlıklı makaleyi inceleyin.