Uygulamanızı yerelleştirme

Android işletim sistemi birçok bölgede pek çok cihazda çalışır. En fazla sayıda kullanıcıya ulaşmak için uygulamanızın metin, ses dosyaları, sayılar, para birimi ve grafikleri kullanıldığı yerel ayarlara uygun şekilde işlediğinden emin olun.

Bu sayfada, Android uygulamalarını yerelleştirmeye yönelik en iyi uygulamalar açıklanmaktadır.

Kotlin veya Java programlama dili hakkında bilgi sahibi olmanız ve Android kaynak yükleme, XML olarak kullanıcı arayüzü öğelerini tanımlama, etkinlik yaşam döngüsü gibi geliştirme sürecinin göz önünde bulundurulması gereken noktalar, uluslararasılaştırma ve yerelleştirmenin genel ilkeleri hakkında bilgi sahibi olmanız gerekir.

Uygulamanızın yerelleştirilmiş özelliklerini temel uygulama işlevselliğinden mümkün olduğunca ayırmak için Android kaynak çerçevesini kullanmak iyi bir uygulamadır.

  • Uygulamanızın kullanıcı arayüzündeki içeriğin çoğunu veya tamamını bu sayfada ve Uygulama kaynaklarına genel bakış bölümünde açıklandığı gibi kaynak dosyalara yerleştirin.
  • Öte yandan, kullanıcı arayüzünün davranışı Kotlin tabanlı veya Java tabanlı kodunuz tarafından belirlenir. Örneğin, kullanıcılar yerel ayara bağlı olarak farklı şekilde biçimlendirilmesi veya sıralanması gereken veriler girerse bu verileri programatik olarak işlemek için Kotlin veya Java programlama dilini kullanırsınız. Bu sayfada Kotlin tabanlı veya Java tabanlı kodunuzu nasıl yerelleştireceğiniz ele alınmamaktadır.

Uygulamanızdaki dizeleri yerelleştirmeyle ilgili kısa bir kılavuz için Farklı dilleri ve kültürleri destekleme konusuna bakın.

Genel Bakış: Android'de kaynak değiştirme

Kaynaklar; metin dizeleri, düzenler, sesler, grafikler ve Android uygulamanızın ihtiyaç duyduğu diğer statik verilerdir. Bir uygulamada, her biri farklı cihaz yapılandırması için özelleştirilmiş birden fazla kaynak grubu bulunabilir. Bir kullanıcı uygulamayı çalıştırdığında Android, cihaza en uygun kaynakları otomatik olarak seçip yükler.

Bu sayfa, yerelleştirmeye ve yerel ayarlara odaklanmaktadır. Kaynak değişiminin ve ekran yönü veya dokunmatik ekran türü gibi belirtebileceğiniz tüm yapılandırma türlerinin tam açıklaması için Alternatif kaynaklar sağlama bölümüne bakın.

Uygulamanızı yazarken uygulamanızın kullanacağı varsayılan ve alternatif kaynaklar oluşturursunuz. Kullanıcılar uygulamanızı çalıştırdığında Android sistemi, cihazın yerel ayarına göre hangi kaynakların yükleneceğini seçer. Kaynak oluşturmak için dosyaları projenin res/ dizininin özel olarak adlandırılmış alt dizinlerine yerleştirirsiniz.

Varsayılan kaynaklar neden önemlidir?

Uygulama, yerel ayara özgü metin sağlamadığınız herhangi bir yerel ayarda çalıştığında Android, varsayılan dizeleri res/values/strings.xml üzerinden yükler. Bu varsayılan dosya yoksa veya uygulamanızın ihtiyaç duyduğu bir dize eksikse uygulamanız çalışmaz ve bir hata gösterir. Aşağıdaki örnekte, varsayılan metin dosyası tamamlanmadığında neler olabileceği gösterilmektedir.

Örnek:

Bir uygulamanın Kotlin veya Java tabanlı kodu yalnızca iki dizeye (text_a ve text_b) karşılık gelir. Uygulama, text_a ve text_b içeriklerini İngilizce dilinde tanımlayan yerelleştirilmiş bir kaynak dosyası (res/values-en/strings.xml) içerir. Uygulama aynı zamanda text_a tanımını içeren, ancak text_b tanımını içeren bir varsayılan kaynak dosyası (res/values/strings.xml) da içerir.

  • Bu uygulama, yerel ayarı İngilizce olarak ayarlanmış bir cihazda başlatıldığında res/values-en/strings.xml, gereken metin dizelerinin ikisini de içerdiğinden uygulama sorunsuz çalışabilir.
  • Ancak bu uygulama İngilizce dışında bir dile ayarlanmış bir cihazda başlatıldığında kullanıcı bir hata mesajı ve "Kapatmaya Zorla" düğmesi görür. Uygulama yüklenmiyor.

Bu durumu önlemek için bir res/values/strings.xml dosyasının mevcut olduğundan ve gerekli tüm dizeleri tanımladığından emin olun. Bu durum sadece dizeler değil, tüm kaynak türleri için geçerlidir. Uygulamanızın çağırdığı tüm kaynakları (ör. düzenler, çekilebilir öğeler veya animasyonlar) içeren bir dizi varsayılan kaynak dosyası oluşturmanız gerekir. Test hakkında bilgi edinmek için Varsayılan kaynakları test etme bölümüne bakın.

Yerelleştirme için kaynakları kullanma

Bu bölümde varsayılan kaynakların yanı sıra alternatif kaynakların nasıl oluşturulacağı açıklanmaktadır. Ayrıca, kaynaklara nasıl öncelik atandığı ve koddaki kaynaklarınıza nasıl atıfta bulunduğunuz da açıklanmaktadır.

Varsayılan kaynaklar oluşturma

Uygulamanın varsayılan metnini res/values/strings.xml diline yerleştirin. Bu dizeler için varsayılan dili, yani uygulamanızın kullanıcılarının çoğunun konuşmasını beklediğiniz dili kullanın.

Varsayılan kaynak grubu, varsayılan çekilebilir kaynakları ve düzenleri de içerir ve animasyonlar gibi başka kaynak türlerini de içerebilir. Bu kaynaklar aşağıdaki dizinlere gider:

  • res/drawable/: Google Play'de uygulamanın simgesi için en az bir grafik dosyası içeren gerekli dizin
  • res/layout/: Varsayılan düzeni tanımlayan bir XML dosyasını barındıran gerekli dizin
  • res/anim/: res/anim-<qualifiers> klasörünüz varsa zorunludur
  • res/xml/: res/xml-<qualifiers> klasörünüz varsa zorunludur
  • res/raw/: res/raw-<qualifiers> klasörünüz varsa zorunludur

İpucu: Kodunuzda, bir Android kaynağına ilişkin her bir referansı inceleyin. Her biri için varsayılan bir kaynağın tanımlandığından emin olun. Ayrıca, varsayılan dize dosyasının eksiksiz olduğundan emin olun: Yerelleştirilmiş bir dize dosyası, dizelerin bir alt kümesini içerebilir ancak varsayılan dize dosyası bunların tümünü içermelidir.

Alternatif kaynaklar oluşturun

Bir uygulamanın yerelleştirilmesinin büyük bir bölümü, farklı diller için alternatif metinler sağlar. Bazı durumlarda alternatif grafikler, sesler, düzenler ve yerel ayara özgü diğer kaynaklar da sağlarsınız.

Bir uygulama, her biri farklı niteleyicilere sahip olan çok sayıda res/<qualifiers>/ dizini belirtebilir. Farklı bir yerel ayar için alternatif bir kaynak oluşturmak amacıyla bir dil veya dil-bölge kombinasyonu belirten bir niteleyici kullanırsınız. Kaynak dizininin adı, Alternatif kaynaklar sağlama bölümünde açıklanan adlandırma şemasına uygun olmalıdır. Aksi takdirde uygulamanız derleyemez.

Örnek:

Uygulamanızın varsayılan dilinin İngilizce olduğunu ve uygulamanızdaki tüm metni Fransızcaya, uygulamanın başlığı hariç tüm metinleri Japonca olarak yerelleştirmek istediğinizi varsayalım. Bu durumda, her biri yerel ayara özgü kaynak dizininde depolanan üç strings.xml dosyası oluşturursunuz:

  1. res/values/strings.xml
    Uygulamanın kullandığı tüm dizeler için İngilizce metin içerir (title adlı bir dizenin metni de dahil).
  2. res/values-fr/strings.xml
    title dahil tüm dizeler için Fransızca metin içermelidir.
  3. res/values-ja/strings.xml
    title hariç tüm dizeler için Japonca metin içermelidir.

Kotlin veya Java tabanlı kodunuz R.string.title anlamına geliyorsa çalışma zamanında ne olur?

  • Cihaz Fransızca dışında bir dile ayarlanırsa Android, res/values/strings.xml dosyasından title yükler.
  • Cihaz Fransızca olarak ayarlanırsa Android, res/values-fr/strings.xml dosyasından title dosyasını yükler.

Cihaz Japoncaya ayarlanırsa Android, res/values-ja/strings.xml dosyasında title arar. Ancak söz konusu dosyaya böyle bir dize dahil edilmediğinden, Android varsayılan değere döner ve title dosyasını res/values/strings.xml dosyasından İngilizce olarak yükler.

Hangi kaynaklar önceliklidir?

Bir cihazın yapılandırmasıyla birden fazla kaynak dosyası eşleşirse Android, hangi dosyanın kullanılacağına karar verirken bir dizi kurala uyar. Kaynak dizini adında belirtilebilen niteleyiciler arasında yerel ayar neredeyse her zaman önceliklidir.

Örnek:

Bir uygulamanın, farklı cihaz kurulumu için optimize edilmiş varsayılan bir grafik grubu ve diğer iki grafik grubu içerdiğini varsayalım:

  • res/drawable/
    Varsayılan grafikleri içerir.
  • res/drawable-small-land-stylus/
    Ekran kaleminden giriş bekleyen ve yatay yönde QVGA düşük yoğunluklu ekrana sahip cihazlarla kullanım için optimize edilmiş grafikler içerir.
  • res/drawable-ja/
    Japonca ile kullanım için optimize edilmiş grafikler içerir.

Uygulama Japonca kullanacak şekilde yapılandırılmış bir cihazda çalışıyorsa cihaz, ekran kaleminden giriş bekleyen ve yatay yönde QVGA düşük yoğunluklu bir ekrana sahip olsa bile grafikleri res/drawable-ja/ kaynağından yükler.

İstisna: Seçim sürecinde yerel ayara göre öncelikli olan tek niteleyiciler mobil ülke kodu (MM) ve mobil ağ kodudur (MNC).

Örnek:

Aşağıdaki durumda olduğunuzu varsayın:

  • Uygulama kodu şunu çağırır: R.string.text_a
  • .
  • İki alakalı kaynak dosyası mevcuttur:
    • res/values-mcc404/strings.xml içerir. Bu dil, uygulamanın varsayılan dilinde text_a içerir (bu örnekte İngilizce).
    • res/values-hi/strings.xml, Hintçe text_a içerir.
  • Uygulama aşağıdaki yapılandırmaya sahip bir cihazda çalışıyor:
    • SIM kart, Hindistan'da bir mobil ağa (MM 404) bağlıdır.
    • Dil Hintçe (hi) olarak ayarlandı.

Android, cihaz Hintçe için yapılandırılmış olsa bile res/values-mcc404/strings.xml uygulamasından text_a (İngilizce) yükler. Bunun nedeni, kaynak seçme sürecinde Android'in bir dil eşleşmesi yerine MM eşleşmesini tercih etmesidir.

Seçim süreci her zaman bu örneklerin gösterdiği kadar basit değildir. İşlemin daha ayrıntılı bir açıklaması için Android en iyi eşleşen kaynağı nasıl bulur? konusuna bakın. Tüm niteleyiciler Uygulama kaynaklarına genel bakış bölümünde açıklanmış ve öncelik sırasına göre listelenmiştir.

Koddaki kaynaklara bakın

Uygulamanızın Kotlin veya Java tabanlı kodunda, R.resource_type.resource_name veya android.R.resource_type.resource_name söz dizimini kullanan kaynaklardan bahsediyorsunuz. Daha fazla bilgi için Uygulama kaynaklarınıza erişme konusuna bakın.

Yerelleştirme dizelerini yönetme

Bu bölümde, yerelleştirmeyle ilgili dizelerinizi yönetmeyle ilgili en iyi uygulamalar açıklanmaktadır.

Tüm dizeleri string.xml dosyasına taşı

Uygulamalarınızı oluştururken herhangi bir dizeyi koda gömmeyin. Bunun yerine, tüm dizelerinizi varsayılan bir strings.xml dosyasında kaynak olarak tanımlayın. Böylece dizelerinizi kolayca güncelleyebilir ve yerelleştirebilirsiniz. strings.xml dosyasındaki dizeler, derlenen kodda herhangi bir değişiklik olmadan uygun niteleyicilerle kolayca çıkarılabilir, çevrilebilir ve uygulamanıza tekrar entegre edilebilir.

Metin içeren görseller oluşturursanız bu dizeleri strings.xml içine de yerleştirin ve çeviriden sonra resimleri yeniden oluşturun.

Kullanıcı arayüzü dizeleri için Android yönergelerini uygulayın

Kullanıcı arayüzlerinizi tasarlarken ve geliştirirken kullanıcılarınızla konuşma şeklinize çok dikkat edin. Genel olarak, samimi fakat kısa bir stil kullanın ve kullanıcı arayüzlerinizde tutarlı bir stil kullanın.

Yazma stili ve kelime seçimi ile ilgili Materyal Tasarım önerilerini okuduğunuzdan ve uyguladığınızdan emin olun. Böylece uygulamalarınız kullanıcıya daha gösterişli görünür ve kullanıcıların kullanıcı arayüzünüzü daha hızlı anlamasına yardımcı olur.

Ayrıca uygulama çubuğu, seçenekler menüsü, sistem çubuğu ve bildirimler gibi kullanıcı arayüzü öğeleri için mümkün olduğunda her zaman Android standart terminolojisini kullanın. Android terimlerini doğru ve tutarlı bir şekilde kullanmak çeviriyi kolaylaştırır ve kullanıcılar için daha iyi bir son ürün sağlar.

Beyan edilen dizeler için yeterli bağlam sağlayın

strings.xml dosyanızda dizeleri açıklarken dizenin kullanıldığı bağlamı açıkladığınızdan emin olun. Bu bilgiler çevirmen için çok değerlidir ve çevirinin kalitesini artırır. Ayrıca, dizelerinizi daha etkili bir şekilde yönetmenize yardımcı olur.

Örnek:

<!-- The action for submitting a form. This text is on a button that can fit 30 chars -->
<string name="login_submit_button">Sign in</string>

Aşağıdaki gibi bağlam bilgileri sağlayabilirsiniz:

  • Bu dize ne işe yarar? Kullanıcıya ne zaman ve nerede sunulur?
  • Bu, düzenin neresinde? Örneğin, çeviriler metin kutularındaki düğmelerden daha az esnektir.

Çevrilmeyecek mesaj bölümlerini işaretleyin

Dizeler genellikle başka dillere çevrilmesi amaçlanmayan metinler içerir. Bir kod parçası, değer için yer tutucu, özel simge veya ad yaygın kullanılan örneklerdir. Dizelerinizi çeviri için hazırlarken, çevirmenin değiştirmemesi için, çeviri olmadan, olduğu gibi kalması gereken metinleri bulup işaretleyin.

Çevrilmesini istemediğiniz metni işaretlemek için <xliff:g> yer tutucu etiketi kullanın. Mesajın bozulmaması için "%1$s" metninin çeviri sırasında değiştirilmeyeceğini belirten bir örnek etiket aşağıda verilmiştir:

<string name="countdown">
  <xliff:g id="time" example="5 days">%1$s</xliff:g> until holiday
</string>

Bir yer tutucu etiketi bildirirken yer tutucunun neyle ilgili olduğunu açıklayan bir kimlik özelliği ekleyin. Uygulamanız daha sonra yer tutucu değerin yerini alırsa beklenen kullanımı netleştirmek için örnek bir özellik sağladığınızdan emin olun.

Aşağıda, yer tutucu etiketlere ilişkin bazı örnekler verilmiştir:

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Example placeholder for a special Unicode symbol -->
<string name="star_rating">Check out our 5
    <xliff:g id="star">\u2605</xliff:g>
</string>
<!-- Example placeholder for a URL -->
<string name="app_homeurl">
    Visit us at <xliff:g
    id="application_homepage">http://my/app/home.html</xliff:g>
</string>
<!-- Example placeholder for a name -->
<string name="prod_name">
    Learn more at <xliff:g id="prod_gamegroup">Game Group</xliff:g>
</string>
<!-- Example placeholder for a literal -->
<string name="promo_message">
    Please use the "<xliff:g id="promotion_code">ABCDEFG</xliff:g>" to get a discount.
</string>
...
</resources>

Yerelleştirme için yapılacaklar listesi

Bir Android uygulamasını yerelleştirme ve dağıtma sürecine dair kapsamlı bir genel bakış için Uygulamanızı çevirme ve yerelleştirme bölümüne bakın.

Yerelleştirmeyle ilgili ipuçları

Uygulamanızı yerelleştirirken bu ipuçlarını uygulayın.

Uygulamanızı tüm yerel ayarlarda çalışacak şekilde tasarlayın

Bir kullanıcının uygulamanızı çalıştırdığı cihazla ilgili varsayımlarda bulunmayın. Cihazda beklemediğiniz bir donanım bulunabilir veya cihaz, planlamadığınız ya da test edemeyeceğiniz bir yerel ayara ayarlanmış olabilir. Uygulamanızı, hangi cihazda çalıştığı fark etmeksizin normal şekilde çalışacak veya sorunsuz bir şekilde çalışacak şekilde tasarlayın.

Önemli: Uygulamanızın eksiksiz bir varsayılan kaynak grubuna sahip olduğundan emin olun: Uygulamanızın ihtiyaç duyduğu tüm resim ve metinleri içeren, klasör adlarına ek değiştiriciler içermeyen res/drawable/ ve res/values/ klasörlerini ekleyin.

Bir uygulamada varsayılan bir kaynak bile eksikse uygulama, desteklenmeyen yerel ayarlara ayarlanmış cihazlarda çalışmaz. Örneğin, res/values/strings.xml varsayılan dosyasında uygulamanın ihtiyaç duyduğu bir dize yoksa uygulama desteklenmeyen bir yerel ayarda çalışıp res/values/strings.xml öğesini yüklemeye çalıştığında, kullanıcı bir hata mesajı ve "Kapatmaya Zorla" düğmesi görür.

Daha fazla bilgi için Varsayılan kaynakları test etme bölümüne bakın.

Esnek bir düzen tasarlayın

Düzeninizi belirli bir dile uyacak şekilde yeniden düzenlemeniz gerekirse söz konusu dil için alternatif bir düzen oluşturabilirsiniz (ör. Almanca bir düzen için res/layout-de/main.xml). Ancak bunu yapmak uygulamanızın bakımını zorlaştırabilir. Daha esnek tek bir düzen oluşturmak daha iyidir.

Diğer bir tipik durum da düzeninde farklı bir şey gerektiren dildir. Örneğin, uygulama Japonca çalıştırıldığında iki ad alanı, uygulama başka bir dilde çalıştığında ise üç ad alanı içeren bir iletişim formunuz olabilir. Bunu iki şekilde yapabilirsiniz:

  • Dile bağlı olarak programatik olarak etkinleştirebileceğiniz veya devre dışı bırakabileceğiniz bir alanla tek bir düzen oluşturun.
  • Ana düzenin, değiştirilebilir alanı içeren başka bir düzen içermesini sağlayın. İkinci düzenin farklı diller için farklı yapılandırmaları olabilir.

İhtiyaç duyduğunuzdan daha fazla kaynak dosyası ve metin dizesi oluşturmaktan kaçının

Muhtemelen uygulamanızdaki her kaynak için yerel ayara özel bir alternatif oluşturmanız gerekmez. Örneğin, res/layout/main.xml dosyasında tanımlanan düzen tüm yerel ayarlarda çalışabilir. Bu durumda alternatif düzen dosyaları oluşturmanıza gerek yoktur.

Ayrıca, her dize için alternatif metin oluşturmanız gerekmeyebilir. Örneğin, aşağıdakileri varsayın:

  • Uygulamanızın varsayılan dili Amerikan İngilizcesi. Uygulamanın kullandığı her dize, res/values/strings.xml içinde Amerikan İngilizcesi yazımları kullanılarak tanımlanır.
  • Birkaç önemli kelime öbeği için İngiliz İngilizcesi yazımını sağlamak istiyorsunuz. Uygulamanız Birleşik Krallık'taki bir cihazda çalışırken bu alternatif dizelerin kullanılmasını istersiniz.

Bunu yapmak için res/values-en-rGB/strings.xml adında yalnızca uygulama İngiltere'de çalışırken farklı olan dizeleri içeren küçük bir dosya oluşturun. Geri kalan tüm dizelerde, uygulama varsayılan değerleri kullanır ve res/values/strings.xml politikasında tanımlanan değeri kullanır.

Manuel yerel ayar araması için Android Bağlam nesnesini kullanma

Yerel ayarı, Android'in kullanıma sunduğu Context nesnesini kullanarak aşağıdaki örnekte gösterildiği gibi arayabilirsiniz:

Kotlin

val primaryLocale: Locale = context.resources.configuration.locales[0]
val locale: String = primaryLocale.displayName

Java

Locale primaryLocale = context.getResources().getConfiguration().getLocales().get(0);
String locale = primaryLocale.getDisplayName();

Geliştirici Konsolu'ndaki uygulama

Uygulama Çeviri Hizmeti, Play Console'a entegre edilmiştir. Anında fiyat teklifi almanızı ve bir çeviri şirketine sipariş vermenizi sağlar. Uygulama kullanıcı arayüzü dizeleri, Play Mağaza Girişi metni, UİSA adları ve reklam kampanyası metni için bir veya daha fazla dile çeviri sipariş edebilirsiniz.

Yerelleştirilmiş uygulamaları test etme

Yerelleştirilmiş uygulamanızı bir cihazda veya Android Emülatör'ü kullanarak test edin. Özellikle, gerekli tüm varsayılan kaynakların eklendiğinden emin olmak için uygulamanızı test edin.

Cihazda test etme

Test ettiğiniz cihazın, başka yerlerde tüketicilere sunulan cihazlardan çok farklı olabileceğini unutmayın. Cihazınızda bulunan yerel ayarlar, diğer cihazlardaki yerel ayarlardan farklı olabilir. Ayrıca, cihaz ekranının çözünürlüğü ve yoğunluğu farklılık gösterebilir. Bu da, kullanıcı arayüzünüzde dizelerin ve çekilebilir öğelerin görünümünü etkileyebilir.

Bir cihazda yerel ayarı veya dili değiştirmek için Ayarlar uygulamasını kullanın.

Emülatörde test et

Emülatörü kullanmayla ilgili ayrıntılı bilgi için Uygulamaları Android Emülatör'de çalıştırma başlıklı makaleyi inceleyin.

Özel yerel ayar oluşturma ve kullanma

"Özel" yerel ayar, Android sistem görüntüsünün açıkça desteklemediği bir dil veya bölge kombinasyonudur. Emülatörde özel bir yerel ayar oluşturarak uygulamanızın özel bir yerel ayarda nasıl çalıştığını test edebilirsiniz. Bunu yapmanın iki yolu vardır:

  • Uygulama sekmesinden erişebileceğiniz Özel Yerel Ayar uygulamasını kullanın. Özel bir yerel ayar oluşturduktan sonra, yerel ayar adına dokunup basılı tutarak bu seçeneğe geçiş yapın.
  • Aşağıdaki bölümde açıklandığı gibi adb kabuğundan özel bir yerel ayara geçin.

Emülatörü Android sistem görüntüsünde bulunmayan bir yerel ayara ayarladığınızda, sistemin kendisi varsayılan dilinde görüntülenir. Ancak uygulamanız düzgün bir şekilde yerelleştirilir.

Emülatör yerel ayarını adb kabuğundan değiştirme

adb kabuğunu kullanarak emülatörde yerel ayarı değiştirmek için şunları yapın:

  1. Test etmek istediğiniz yerel ayarı seçin ve bölgenin BCP-47 dil etiketini belirleyin (ör. Kanada Fransızcası için fr-CA).
  2. Bir emülatör başlatın.
  3. Ana bilgisayardaki bir komut satırı kabuğundan aşağıdaki komutu çalıştırın:
    adb shell
    veya bağlı bir cihazınız varsa -e seçeneğini ekleyerek emülatörü istediğinizi belirtin:
    adb -e shell
  4. adb kabuk isteminde (#) şu komutu çalıştırın:
    setprop persist.sys.locale [BCP-47 language tag];stop;sleep 5;start
    Köşeli parantezli bölümleri 1. adımdaki uygun kodlarla değiştirin.

    Örneğin, Kanada Fransızcası dilinde test etmek için:
    setprop persist.sys.locale fr-CA;stop;sleep 5;start

Bu, emülatörün yeniden başlatılmasına neden olur. Ana ekran tekrar göründükten sonra uygulamanızı yeniden başlatın. Daha sonra uygulama yeni yerel ayarla başlatılır.

Varsayılan kaynakları test etme

Bir uygulamanın, ihtiyacı olan tüm dize kaynaklarını içerip içermediğini test etmek için aşağıdakileri yapın:

  1. Emülatörü veya cihazı, uygulamanızın desteklemediği bir dile ayarlayın. Örneğin, uygulamanın res/values-fr/ dilinde Fransızca dizeleri varsa ancak res/values-es/ dilinde hiçbir İspanyolca dize yoksa emülatörün yerel ayarını İspanyolca olarak ayarlayın. Emülatörü desteklenmeyen bir yerel ayara ayarlamak için Özel Yerel Ayar uygulamasını kullanabilirsiniz.
  2. Uygulamayı çalıştırın.
  3. Uygulama bir hata mesajı ve Kapatmaya Zorla düğmesi gösteriyorsa kullanılabilir olmayan bir dize arıyor olabilir. res/values/strings.xml dosyanızın, uygulamanın kullandığı her dize için bir tanım içerdiğinden emin olun.

Test başarılı olursa diğer yapılandırma türleri için tekrarlayın. Örneğin, uygulamanın res/layout-land/main.xml adlı bir düzen dosyası varsa ancak res/layout-port/main.xml adlı bir dosya içermiyorsa emülatörü veya cihazı dikey yöne ayarlayıp uygulamanın çalışıp çalışmadığını kontrol edin.