Uygulamanızı yerelleştirme

Android işletim sistemi birçok bölgede pek çok cihazda çalışır. En fazla kullanıcıya ulaşabilmek için uygulamanızın metinlerle, ses dosyalarıyla, sayılarla, para birimleriyle ve grafiklerle, kullanıldığı bölgelere uygun biçimde çalıştığından emin olun.

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

Kotlin hakkında temel bilgilere sahip olmanız ve Android kaynak yükleme, etkinlik yaşam döngüsü gibi geliştirme hususları ile uluslararasılaştırma ve yerelleştirmenin genel ilkeleri hakkında bilgi sahibi olmanız gerekir.

Uygulamanızın yerelleştirilmiş yönlerini 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çeriklerin çoğunu veya tamamını, bu sayfada ve Uygulama kaynaklarına genel bakış bölümünde açıklandığı gibi kaynak dosyalarına yerleştirin.
  • Diğer yandan, kullanıcı arayüzünün davranışı Kotlin tabanlı kodunuz tarafından yönlendirilir. Örneğin, kullanıcılar yerel ayara bağlı olarak farklı şekilde biçimlendirilmesi veya sıralanması gereken veriler giriyorsa verileri programatik olarak işlemek için Kotlin'i kullanırsınız. Bu sayfada, Kotlin tabanlı kodunuzu yerelleştirme hakkında bilgi verilmemektedir.

Bu kılavuzda, tüm Android uygulamalarında kullanılan temel Android yerelleştirme sistemi ele alınmaktadır. Bu yerelleştirilmiş kaynakları Jetpack Compose kullanıcı arayüzünüze nasıl yükleyeceğinizi öğrenmek için Compose'daki kaynaklar başlıklı makaleyi inceleyin.

Uygulamanızdaki dizeleri yerelleştirme hakkında kısa bir kılavuz için Farklı dilleri ve kültürleri destekleme başlıklı makaleyi inceleyin.

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

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

Bu sayfada yerelleştirme ve yerel ayar ele alınmaktadır. Kaynak değiştirme ve belirtebileceğiniz tüm yapılandırma türleri (ör. ekran yönü veya dokunmatik ekran türü) hakkında ayrıntılı bilgi için Alternatif kaynaklar sağlama başlıklı makaleyi inceleyin.

Uygulamanızı yazarken, uygulamanızın kullanması için 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ırıldığında Android, res/values/strings.xml içindeki varsayılan dizeleri yükler. Bu varsayılan dosya yoksa veya uygulamanızın ihtiyaç duyduğu bir dize eksikse uygulamanız çalışmaz ve hata gösterir. Aşağıdaki örnekte, varsayılan metin dosyası eksik olduğunda neler olabileceği gösterilmektedir.

Örnek:

Bir uygulamanın Kotlin tabanlı kodu yalnızca iki dizeyi ifade eder: text_a ve text_b. Uygulama, text_a ve text_b'ı İngilizce olarak tanımlayan yerelleştirilmiş bir kaynak dosyası (res/values-en/strings.xml) içeriyor. Uygulamada, text_a için tanım içeren ancak text_b için tanım içermeyen varsayılan bir kaynak dosyası (res/values/strings.xml) da bulunur.

  • Bu uygulama, yerel ayarı İngilizce olarak belirlenmiş bir cihazda başlatıldığında res/values-en/strings.xml, gerekli metin dizelerinin her 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ıya hata mesajı ve "Kapatmaya Zorla" düğmesi gösterilir. Uygulama yüklenmiyor.

Bu durumu önlemek için res/values/strings.xml dosyasının bulunduğundan ve gerekli tüm dizeleri tanımladığından emin olun. Bu durum yalnızca dizeler için değil, tüm kaynak türleri için geçerlidir: Uygulamanızın kullandığı tüm kaynakları (ör. çizilebilir öğeler, yazı tipleri veya renkler) içeren bir dizi varsayılan kaynak dosyası oluşturmanız gerekir. Test hakkında bilgi 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 ve alternatif kaynakların nasıl oluşturulacağı açıklanmaktadır. Ayrıca kaynaklara nasıl öncelik verildiği ve kaynaklarınıza kodda nasıl referans vereceğiniz de açıklanmaktadır.

Varsayılan kaynaklar oluşturma

Uygulamanın varsayılan metnini res/values/strings.xml içine yerleştirin. Bu dizeler için varsayılan dili (uygulamanızın kullanıcılarının çoğunun konuştuğu dil) kullanın.

Varsayılan kaynak grubu, varsayılan çizilebilir öğeleri de içerir ve simgeler veya dizeler gibi diğer kaynak türlerini içerebilir. Bu kaynaklar aşağıdaki dizinlere yerleştirilir:

  • res/drawable/: Google Play'deki uygulama simgesi için en az bir grafik dosyası içeren zorunlu dizin
  • res/xml/: res/xml-<qualifiers> klasörünüz varsa gereklidir
  • res/raw/: res/raw-<qualifiers> klasörünüz varsa gereklidir

Alternatif kaynaklar oluşturma

Bir uygulamayı yerelleştirmenin büyük bir bölümü, farklı diller için alternatif metinler sağlamaktır. Bazı durumlarda alternatif grafikler, sesler ve yerel ayarlara özel diğer kaynakları da sağlarsınız.

Bir uygulama, her biri farklı niteleyicilere sahip birçok res/<qualifiers>/dizin belirtebilir. Farklı bir yerel ayar için alternatif kaynak oluşturmak üzere bir dil veya dil-bölge kombinasyonu belirten bir niteleyici kullanırsınız. Bir 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 derlenemez.

Örnek:

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

  1. res/values/strings.xml
    title adlı dize de dahil olmak üzere uygulamanın kullandığı tüm dizeler için İngilizce metin içerir.
  2. res/values-fr/strings.xml
    title dahil olmak üzere 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 tabanlı kodunuz R.string.title öğesini referans alıyorsa çalışma zamanında şunlar olur:

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

Cihaz Japonca'ya ayarlanmışsa Android, title dosyasında res/values-ja/strings.xml ifadesini arar. Ancak bu dosyada böyle bir dize bulunmadığından Android varsayılan dile geri döner ve res/values/strings.xml dosyasından title dizesini İngilizce olarak yükler.

Hangi kaynaklar önceliklidir?

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

Örnek:

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

  • res/drawable/
    Varsayılan grafikler içerir.
  • res/drawable-small-land-stylus/
    Kalemle giriş bekleyen ve yatay yönde QVGA düşük yoğunluklu ekrana sahip bir cihazla kullanılmak üzere optimize edilmiş grafikler içerir.
  • res/drawable-ja/
    Japonca ile kullanıma yönelik optimize edilmiş grafikler içerir.

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

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

Örnek:

Aşağıdaki durumda olduğunuzu varsayalım:

  • Uygulama kodu R.string.text_a için çağrı yapıyor.
  • İlgili iki kaynak dosyası vardır:
    • res/values-mcc404/strings.xml. Bu, uygulamanın varsayılan dilinde (bu örnekte İngilizce) text_a ifadesini içerir.
    • res/values-hi/strings.xml (Hintçe text_a dahil)
  • Uygulama, aşağıdaki yapılandırmaya sahip bir cihazda çalışıyor:
    • SIM kart, Hindistan'daki bir mobil ağa (MCC 404) bağlı olmalıdır.
    • Dil, Hintçe (hi) olarak ayarlanmış.

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

Seçim süreci her zaman bu örneklerdeki kadar basit olmayabilir. Süreçle ilgili daha ayrıntılı bir açıklama için Android, en iyi eşleşen kaynağı nasıl bulur? başlıklı makaleyi inceleyin. Tüm niteleyiciler, Uygulama kaynaklarına genel bakış bölümünde öncelik sırasına göre açıklanır ve listelenir.

Koddaki kaynaklara başvurma

Uygulamanızın Kotlin tabanlı kodunda kaynaklara R.resource_type.resource_name veya android.R.resource_type.resource_namesöz dizimini kullanarak başvurursunuz. Daha fazla bilgi için Uygulama kaynaklarınıza erişme başlıklı makaleyi inceleyin.

Yerelleştirme için dizeleri yönetme

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

Tüm dizeleri strings.xml dosyasına taşıma

Uygulamalarınızı oluştururken dizeleri sabit kodlamayın. Bunun yerine, tüm dizelerinizi varsayılan bir strings.xml dosyasında kaynak olarak bildirin. Bu sayede dizeleri güncellemek ve yerelleştirmek kolaylaşır. strings.xml dosyasındaki dizeler, derlenmiş kodda herhangi bir değişiklik yapmadan kolayca ayıklanabilir, çevrilebilir ve uygun niteleyicilerle uygulamanıza tekrar entegre edilebilir.

Örneğin, Compose ile aşağıdaki gibi bir dize yükleyebilirsiniz:

// In the res/values/strings.xml file
// <string name="compose">Jetpack Compose</string>

// In your Compose code
Text(
    text = stringResource(R.string.compose)
)

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

Kullanıcı arayüzü dizeleriyle ilgili Android yönergelerine uyun.

Kullanıcı arayüzlerinizi tasarlarken ve geliştirirken kullanıcılarınızla nasıl konuştuğunuza dikkat edin. Genel olarak, kısa ve öz bir stil kullanın. Bu stil, kullanıcı dostu ancak kısa olmalıdır. Ayrıca, kullanıcı arayüzlerinizde tutarlı bir stil kullanın.

Yazım stili ve kelime seçimi ile ilgili Materyal Tasarım önerilerini okuyup uyguladığınızdan emin olun. Bu sayede uygulamalarınız kullanıcıya daha iyi 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ü öğelerinde mümkün olduğunca Android'in 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 nihai ürün ortaya çıkarır.

Bildirilen dizeler için yeterli bağlam bilgisi sağlama

strings.xml dosyanızda dizeleri tanımlarken dizenin kullanıldığı bağlamı açıklayın. Bu bilgiler çevirmen için çok değerlidir ve daha kaliteli çeviri yapılmasını sağlar. 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 bilgilerini sağlamayı düşünebilirsiniz:

  • Bu dize ne için kullanılır? Kullanıcıya ne zaman ve nerede gösterilir?
  • Bu ayar kullanıcı arayüzünde nerede bulunur? Örneğin, çeviriler düğmelerde metin kutularına kıyasla daha az esnektir.

Çevrilmeyecek mesaj bölümlerini işaretleme

Dizeler genellikle başka dillere çevrilmemesi gereken metinler içerir. Yaygın örnekler arasında bir kod parçası, bir değer için yer tutucu, özel bir sembol veya ad yer alır. Dizelerinizi çeviriye hazırlarken çevrilmeden olduğu gibi kalması gereken metinleri bulup işaretleyin. Böylece çevirmen bu metinleri değiştirmez.

Çevrilmeyecek metinleri işaretlemek için <xliff:g> yer tutucu etiketini kullanın. Aşağıda, mesajın bozulmaması için "%1$s" metninin çeviri sırasında değiştirilmemesi gerektiğini belirten bir örnek etiket verilmiştir:

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

Bir yer tutucu etiketi tanımladığınızda, yer tutucunun ne için kullanıldığını açıklayan bir kimlik özelliği ekleyin. Uygulamanız daha sonra yer tutucu değeri değiştirirse beklenen kullanımı netleştirmek için örnek bir özellik eklediğinizden emin olun.

Aşağıda, yer tutucu etiketlerle ilgili daha fazla örnek 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 kontrol listesi

Android uygulamasını yerelleştirme ve dağıtma süreciyle ilgili eksiksiz bir genel bakış için Uygulamanızı çevirme ve yerelleştirme başlıklı makaleyi inceleyin.

Yerelleştirme ipuçları

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

Uygulamanızı herhangi bir yerel ayarda çalışacak şekilde tasarlama

Kullanıcının uygulamanızı çalıştırdığı cihazla ilgili hiçbir varsayımda bulunmayın. Cihazda, öngörmediğiniz donanımlar olabilir veya cihaz, planlamadığınız ya da test edemediğiniz bir yerel ayara ayarlanmış olabilir. Uygulamanızı, hangi cihazda çalışırsa çalışsın normal şekilde çalışacak veya sorunsuz bir şekilde başarısız olacak şekilde tasarlayın.

Önemli: Uygulamanızın varsayılan kaynakların tam setini içerdiğinden emin olun: Klasör adlarında ek değiştiriciler olmadan res/drawable/ ve res/values/ klasörlerini ekleyin. Bu klasörler, uygulamanızın ihtiyaç duyduğu tüm resimleri ve metinleri içermelidir.

Bir uygulamada varsayılan kaynaklardan biri bile eksikse uygulama, desteklenmeyen bir yerel ayara ayarlanmış cihazda ç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ıştırıldığında ve res/values/strings.xml yüklemeye çalıştığında kullanıcı bir hata mesajı ve Zorla Kapat düğmesi görür.

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

Gereğinden fazla kaynak dosyası ve metin dizesi oluşturmaktan kaçının

Uygulamanızdaki her kaynak için yerel ayara özgü bir alternatif oluşturmanız muhtemelen gerekmez. Örneğin, res/drawable/ dizininde tanımlanan bir uygulama logosu herhangi bir yerel ayarda çalışabilir. Bu durumda, alternatif grafik dosyaları oluşturmanıza gerek yoktur.

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

  • Uygulamanızın varsayılan dili Amerikan İngilizcesi olmalıdır. Uygulamanın kullandığı her dize, res/values/strings.xml içinde Amerikan İngilizcesi yazım kurallarına göre tanımlanır.
  • Birkaç önemli ifade için İngiliz İngilizcesi yazımını kullanmak istiyorsunuz. Uygulamanız Birleşik Krallık'taki bir cihazda çalışırken bu alternatif dizelerin kullanılmasını istiyorsunuz.

Bunu yapmak için yalnızca uygulama Birleşik Krallık'ta çalışırken farklı olan dizeleri içeren res/values-en-rGB/strings.xml adlı küçük bir dosya oluşturun. Diğer tüm dizeler için uygulama varsayılanlara geri döner ve res/values/strings.xml içinde tanımlananları kullanır.

Manuel yerel ayar araması için LocalConfiguration kullanın.

Aşağıdaki örnekte gösterildiği gibi, Android'in sunduğu LocalConfiguration kullanarak yerel ayarı arayabilirsiniz:

val locale = LocalConfiguration.current.locales[0]

Geliştirici Konsolu'ndaki uygulama

Uygulama Çeviri Hizmeti, Play Console'a entegre edilmiştir. Anında fiyat teklifi almanıza ve çeviri şirketiyle sipariş vermenize olanak tanır. Uygulama kullanıcı arayüzü dizeleri, Play Store girişi metni, uygulama içi satın alma adları ve reklam kampanyası metni için bir veya daha fazla dile çeviri siparişi verebilirsiniz.

Uygulama dizelerini çevirmek için Gemini'ı kullanma

Uygulamanızın dize kaynaklarını doğrudan projenizde çevirmek için Android Studio'da Gemini'ı kullanabilirsiniz. Daha fazla bilgi için Uygulamanızı çevirme ve yerelleştirme başlıklı makaleyi inceleyin.

Yerelleştirilmiş uygulamaları test etme

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

Cihazda test etme

Test yaptığınız cihazın, tüketicilerin diğer yerlerde kullanabildiği cihazlardan önemli ölçüde farklı olabileceğini unutmayın. Cihazınızda kullanılabilen yerel ayarlar, diğer cihazlarda kullanılabilenlerden farklı olabilir. Ayrıca, cihaz ekranının çözünürlüğü ve yoğunluğu farklı olabilir. Bu durum, kullanıcı arayüzünüzdeki dizelerin ve çizilebilir öğelerin gösterimini etkileyebilir.

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

Composable önizlemelerle test etme

Bir cihazda test yapmadan önce, yerelleştirilmiş kullanıcı arayüzlerini bir emülatöre dağıtmadan test etmek için Android Studio'da Composable önizlemelerini kullanabilirsiniz. Kullanıcı arayüzünüzü farklı dillerde önizlemek için @Preview ek açıklamasını (ör. @Preview(locale = "fr")) kullanın. Ayrıca @Preview(locale = "ar") gibi bir RTL yerel ayarı belirterek sağdan sola (RTL) düzenleri de test edebilirsiniz.

Emülatörde test etme

Emülatörü kullanma hakkında ayrıntılı bilgi için Android emülatöründe uygulamaları ç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şilebilen Özel Yerel Ayar uygulamasını kullanın. Özel bir yerel ayar oluşturduktan sonra yerel ayar adına dokunup basılı tutarak bu ayara geçin.
  • 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 sistem, varsayılan dilinde gösterilir. Ancak uygulamanız düzgün şekilde yerelleştiriliyor.

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

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

  1. Test etmek istediğiniz yerel ayarı seçin ve BCP-47 dil etiketini belirleyin. Örneğin, Kanada Fransızcası için fr-CA.
  2. Bir emülatör başlatın.
  3. Ana makinedeki bir komut satırı kabuğundan aşağıdaki komutu çalıştırın:
    adb shell
    Alternatif olarak, 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 parantez içindeki bölümleri 1. adımdaki uygun kodlarla değiştirin.

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

Bu işlem, emülatörün yeniden başlatılmasına neden olur. Ana ekran tekrar göründüğünde uygulamanızı yeniden başlatın. Uygulama, yeni yerel ayarla başlatılır.

Varsayılan kaynakları test etme

Bir uygulamanın ihtiyaç duyduğu 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, uygulamada res/values-fr/ içinde Fransızca dizeler varsa ancak res/values-es/ içinde İspanyolca dizeler yoksa emülatörün yerel ayarını İspanyolca olarak ayarlayın. Öykünücüyü desteklenmeyen bir yerel ayara ayarlamak için Özel Yerel Ayar uygulamasını kullanabilirsiniz.
  2. Uygulamayı çalıştırın.
  3. Uygulamada hata mesajı ve Zorla Kapat düğmesi gösteriliyorsa uygulama, kullanılamayan 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 de tekrarlayın. Örneğin, uygulamada res/values-land/strings.xml adlı bir dize dosyası varsa ancak res/values-port/strings.xml adlı bir dosya yoksa emülatörü veya cihazı dikey yöne ayarlayın ve uygulamanın çalışıp çalışmadığını kontrol edin.

Ek kaynaklar

Yerelleştirme hakkında daha fazla bilgi için aşağıdaki ek kaynaklara bakın:

Belgeler

İçeriği görüntüleme