Uygulamaya özgü dil tercihleri

Sistem ayarlarındaki uygulamaya özgü diller

Çok dilli kullanıcılar çoğu durumda sistem dillerini tek bir dile ayarlar. ancak belirli uygulamalar için Felemenkçe, Çince veya Hintçe. Uygulamaların bu kullanıcılar için daha iyi bir deneyim sunmasına yardımcı olmak Android 13'te şu özellikleri destekleyen uygulamalar: birden çok dil:

  • Sistem ayarları: Kullanıcıların istediklerini seçebileceği merkezi bir konum her uygulama için tercih edilen dili seçin.

    Uygulamanızı, şu işlemleri gerçekleştirmek için gereken dosyaları otomatik olarak oluşturacak şekilde yapılandırabilirsiniz: uygulamaya özgü dil tercihlerini destekler ve sistem ayarlarında görünür. Alıcı: daha fazla bilgi edinmek için uygulama başına otomatik dil desteğini etkinleştirerek

  • Ek API'ler: setApplicationLocales() ve getApplicationLocales() LocaleManager için yöntemleri kullanıyorsanız, çalışma zamanında sistem dilinden farklı bir dil ayarlayın.

    Bu API'ler sistem ayarlarıyla otomatik olarak senkronize edilir; Bu nedenle, özel uygulama içi dil seçiciler oluşturmaya yarayan bu API'lerin, nerede seçtiklerinden bağımsız olarak tutarlı bir kullanıcı deneyimi dil tercihlerine dokunun. Herkese açık API'ler de standart kod içerir, bölünmüş APK'ları destekler ve Uygulama düzeyindeki kullanıcı dilini depolamak için uygulamalar Ayarlar'da devre dışı bırakabilirsiniz.

    Önceki Android sürümleriyle geriye dönük uyumluluk için eşdeğer API'ler AndroidX'te de mevcuttur. Ancak geriye dönük uyumlu API'ler, Android 12 için uygulama bağlamıyla değil, AppCompatActivity bağlamıyla (API düzeyi 32) ve önceki sürümler. Geriye dönük uyumlu API'lere Appcompat 1.6.0 veya daha yüksek olabilir.

Bu özelliğin uygulanmasına genel bakış

Aşağıdaki tabloda farklı kullanıma dayalı olarak önerilen uygulamalar gösterilmektedir durumlarda işe yarar.

Kullanım alanı Önerilen uygulama
Uygulamanızda uygulama içi dil seçici yok
  1. Oluşturmak için uygulama başına otomatik dil desteğini etkinleştirin LocaleConfig dosyası oluşturup uygulamanızın dillerini sisteme ekleyin Ayarlar'da devre dışı bırakabilirsiniz.
  2. İsteğe bağlı olarak, uygulama içi dil seçici eklemek isterseniz: ve Geriye dönük destek için API uygulaması autoStoreLocales üzerinden uyumluluk.
Uygulamanızda zaten bir uygulama içi dil seçici var
  1. Oluşturmak için uygulama başına otomatik dil desteğini etkinleştirin LocaleConfig dosyası oluşturup uygulamanızın dillerini sisteme ekleyin Ayarlar'da devre dışı bırakabilirsiniz.
  2. herkese açık API'lerden yararlanarak sağlamak için harika bir yoldur.
  3. Aşağıdaki köşedeki kılıfları işleyin:
    1. AppCompatDelegate.setApplicationLocales() adlı kişiye şu numarayı ara: Uygulamanız Android 13 çalıştıran bir cihazda ilk kez çalıştırıldığında
    2. AppCompatDelegate.setApplicationLocales() numaralı telefonu arayın: web sitesi için sisteme, önceden kullanıcının istediği yerel ayarları şu durumlardan biridir:

Kullanıcılar için sistem ayarları

Android, Android 13'ten itibaren sistemde merkezi bir konum bilgisi sunar. Uygulamaya özgü dil tercihlerini belirlemek için ayarlar. Uygulamanızın diller, Android 13 veya sonraki bir sürümü çalıştıran cihazların sistem ayarlarından yapılandırılabilir daha yüksek, uygulama başına otomatik dil desteğini etkinleştirin (önerilen) veya yapılandırın manuel olarak destekleyebilir.

Uygulama başına otomatik dil desteğini etkinleştir

Android Studio Giraffe ve AGP 8.1 sürümünden itibaren uygulamanızı yapılandırarak uygulamaya özgü dili destekle tercihler otomatik olarak oluşturur. AGP, proje kaynaklarınıza göre LocaleConfig oluşturur bir referans ekler ve son manifest dosyasına bir referans ekler. Böylece, manuel olarak yapmanız gerekir. AGP, uygulamanızın res klasörlerindeki kaynakları kullanır modülleri ve kitaplık modülü bağımlılıklarını LocaleConfig dosyasında. Yani, yeni bir web sitesi için kaynak eklerseniz uygulamanıza eklerseniz LocaleConfig öğesini güncelleme konusunda endişelenmenize gerek yoktur dosyası olarak kaydedebilirsiniz.

Uygulama başına otomatik dil özelliğinin, Android çalıştıran uygulamaları desteklediğini unutmayın. 13 (API düzeyi 33) veya sonraki sürümler. Bu özelliği kullanmak için şunları ayarlamanız gerekir: compileSdkVersion - 33 yaş veya üzeri. Uygulamaya özgü dil tercihlerini yapılandırmak için Android'in önceki sürümlerinde de API'leri ve uygulama içi dil seçicileri kullanın.

Uygulama başına otomatik dil desteğini etkinleştirmek için aşağıdaki adımları uygulayın:

  1. Bu özelliği etkinleştirmek için generateLocaleConfig işlevini kullanın. ayar seviyesinden androidResources {} bloğundaki build.gradle.kts dosya (kullanıyorsanız dosya: build.gradle Groovy kullanarak). Bu özellik, varsayılan olarak devre dışıdır.

    Kotlin

        android {
          androidResources {
            generateLocaleConfig = true
          }
        }
        

    Eski

        android {
          androidResources {
            generateLocaleConfig true
          }
        }
        
  2. Varsayılan bir yerel ayar belirtin:
    1. Uygulama modülünün res klasöründe, resources.properties.
    2. resources.properties dosyasında varsayılan değeri ayarlayın unqualifiedResLocale etiketli yerel ayar. yerel ayar adları için Yerel ayar adları nasıl oluşturulur? konusuna bakın.

AGP, bu varsayılan yerel ayarı ve alternatif yerel ayarlar res klasöründeki values-* dizinlerini kullanarak belirttiğiniz LocaleConfig dosyası otomatik olarak oluşturuldu.

Yerel ayar adları nasıl oluşturulur?

Yerel ayar adları oluşturmak için, dil kodunu isteğe bağlı alfabeyle birleştirin ve bölge kodlarını kısa çizgiyle ayırın:

Örneğin, varsayılan yerel ayarınız Amerikan İngilizcesi ise:

unqualifiedResLocale=en-US

Desteklenen dilleri sistem ayarlarına eklemek için android:localeConfig kullanın

Uygulamanızı manuel olarak ayarlayarak dillerinin yapılandırılabilir olması için Android 13 veya sonraki sürümleri çalıştıran cihazlardaki sistem ayarlarına gidin. Bunu yapmak için bir locales_config XML dosyanızı seçin ve şunu kullanarak uygulamanızın manifest dosyasına ekleyin: android:localeConfig özelliği için de geçerlidir. android:localeConfig manifesti atlanır kullanıcıların uygulamanızın dilini ayarlayamaması gerektiğini belirten giriş sinyalleri kendi sistem ayarlarından bağımsız olarak kullanabilirler.

Uygulamanızın desteklediği dilleri kullanıcının sistem ayarlarına manuel olarak eklemek için:

  1. res/xml/locales_config.xml adında bir dosya oluşturun ve uygulamanızın uygulamanızın dili de dahil olmak üzere en iyi yedek yerel ayar, Bu, res/values/strings.xml içinde belirtilen yerel ayardır.

    Biçim şartları için Yerel ayar adları nasıl oluşturulur? konusuna bakın. Ayrıca, aşağıdakilerin listesi için örnek locale_config.xmldosyaya da bakın: en sık kullanılan yerel ayarları gösteriyor.

    Örneğin, locales_config.xml dosyasını şu şekilde biçimlendirin: şu dilleri destekler:

    • En büyük yedek yerel ayar olarak İngilizce (ABD)
    • İngilizce (BK)
    • Fransızca
    • Japonca
    • Çince (Basitleştirilmiş, Makau)
    • Çince (Geleneksel, Makau)
    <?xml version="1.0" encoding="utf-8"?>
    <locale-config xmlns:android="http://schemas.android.com/apk/res/android">
       <locale android:name="en-US"/>
       <locale android:name="en-GB"/>
       <locale android:name="fr"/>
       <locale android:name="ja"/>
       <locale android:name="zh-Hans-MO"/>
       <locale android:name="zh-Hant-MO"/>
    </locale-config>
    
  2. Manifest dosyasına bu yeni dosyayı işaret eden bir satır ekleyin:

    <manifest>
        ...
        <application
            ...
            android:localeConfig="@xml/locales_config">
        </application>
    </manifest>
    

Uygulamanızın localeConfig değerini Dil grubunu özelleştirmek için LocaleManager.setOverrideLocaleConfig Android Ayarları'ndaki uygulamaya özgü dil listesinde gösterilir. Bu şekilde şunları yapabilirsiniz: dil listesini bölgeye göre özelleştirebilir, A/B denemeleri çalıştırabilir ve yerel ayarlar şu örneği inceleyin:

Kotlin

//For setOverrideLocaleConfig
val localeManager = applicationContext
    .getSystemService(LocaleManager::class.java)
localeManager.overrideLocaleConfig = LocaleConfig(
LocaleList.forLanguageTags("en-US,ja-JP,zh-Hans-SG")
)

//For getOverrideLocaleConfig
// The app calls the API to get the override LocaleConfig
val overrideLocaleConfig = localeManager.overrideLocaleConfig
// If the returned overrideLocaleConfig isn't equal to NULL, then the app calls the API to get the supported Locales
val supportedLocales = overrideLocaleConfig.supportedLocales()

Java

//For setOverrideLocaleConfig
mContext.getSystemService(LocaleManager.class).setOverrideLocaleConfig(new LocaleConfig(LocaleList.forLanguageTags("en-US,ja-JP,zh-Hans-SG")));

//For getOverrideLocaleConfig
// The app calls the API to get the override LocaleConfig
LocaleConfig overrideLocaleConfig = mContext.getSystemService(LocaleManager.class).getOverrideLocaleConfig();
// If the returned overrideLocaleConfig isn't equal to NULL, then the app calls the API to get the supported Locales
LocaleList supportedLocales = overrideLocaleConfig.getSupportedLocales();

Buna ek olarak IME'ler artık LocaleManager.getApplicationLocales için geçerli uygulamanın kullanıcı arayüzü dilini seçin. gösteriliyor:

Kotlin

val currentAppLocales: LocaleList = applicationContext.getSystemService(LocaleManager::class.java).getApplicationLocales(appPackageName)

Java

LocaleList currentAppLocales =
    mContext.getSystemService(LocaleManager.class).getApplicationLocales(appPackageName);

Gradle'da desteklenen dilleri belirtme

Henüz yoksa şunu kullanarak aynı dilleri belirtmek için: resourceConfigurations özelliğinin değeri:build.gradle

android {
  ...
  defaultConfig {
    resourceConfigurations += ["en", "en-rGB", "fr", "ja", "b+zh+Hans+MO", "b+zh+Hant+MO"]
  }
}

resourceConfigurations özelliği mevcutsa derleme sistemi yalnızca şunları içerir: APK'daki dil kaynağı tarafından engellenerek destekleyici olabilecek diğer kitaplıklardan çevrilmiş dizelerin desteklenmeyen diller olabilir. Daha fazla bilgi için bkz. Uygulamanızın desteklediği dilleri belirtin.

Kullanıcılar sistem ayarlarında bir uygulama dilini nasıl seçer?

Kullanıcılar, her uygulama için tercih ettikleri dili sistem üzerinden seçebilir. Ayarlar'da devre dışı bırakabilirsiniz. Bu ayarlara iki farklı şekilde erişebilirler:

  • Sistem ayarları üzerinden erişim

    Ayarlar > Sistem > Diller ve Giriş > Uygulama Dilleri > (uygulama seçin)

  • Uygulama ayarları üzerinden erişim

    Ayarlar > Uygulamalar > (bir uygulama seçin) > Dil

Uygulama içi dil seçicileri yönetme

Uygulama içi dil seçici bulunan veya kullanmak isteyen uygulamalar için ayarları yönetmek ve bir kullanıcının verilerini almak için özel uygulama mantığı yerine genel API'ler tercih ettiğiniz dili seçin. Uygulama içi uygulamanız için herkese açık API'leri kullanıyorsanız cihazın sistem ayarları otomatik olarak kullanıcının uygulama içi deneyiminizde seçtiği dille aynı olmalıdır.

Önceki Android sürümleriyle geriye dönük uyumluluk için şunları kesinlikle öneririz: uygulama içi dil seçici uygularken AndroidX destek kitaplığını kullanın. Ancak çerçeve API'lerini doğrudan da uygulayabilirsiniz yardım alabilirsiniz.

AndroidX destek kitaplığını kullanarak uygulama

setApplicationLocales() ve getApplicationLocales() kullanın Appcompat 1.6.0'daki yöntemler veya daha yüksek olabilir. Geriye dönük uyumlu API'lerin, AppCompatActivity bağlamıyla birlikte çalıştığını unutmayın. Android 12 (API düzeyi 32) ve önceki sürümlerde uygulama bağlamıyla ilgili değildir.

Örneğin, bir kullanıcının tercih ettiği dili ayarlamak için kullanıcıdan Dil seçicide bir yerel ayar seçin, ardından bu değeri sistemde ayarlayın:

Kotlin

val appLocale: LocaleListCompat = LocaleListCompat.forLanguageTags("xx-YY")
// Call this on the main thread as it may require Activity.restart()
AppCompatDelegate.setApplicationLocales(appLocale)

Java

LocaleListCompat appLocale = LocaleListCompat.forLanguageTags("xx-YY");
// Call this on the main thread as it may require Activity.restart()
AppCompatDelegate.setApplicationLocales(appLocale);

setApplicationLocales() çağrısı yapıldığında, aşağıdaki durumlar dışında Activity öğenizi yeniden oluşturur: uygulamanız yerel ayar yapılandırmasını kullanır kendisini uyarması gerekir.

Kullanıcının tercih ettiği yerel ayarı almak için AppCompatDelegate.getApplicationLocales() öğesini kullanın. Kullanıcı, uygulamasının yerel ayarını sistem ayarlarından veya uygulama içi dil seçicinizden seçmiş olabilir.

Android 12 ve önceki sürümleri destekler

Android 12 (API düzeyi 32) ve önceki sürümleri çalıştıran cihazları desteklemek için şunları söyleyin: AndroidX, şuna bir autoStoreLocales değeri ayarlayarak yerel depolamayı işleyecek: Uygulamanızın manifest girişinde true ve android:enabled değerlerinden false değerine AppLocalesMetadataHolderService hizmeti, aşağıdaki kodda gösterildiği gibi snippet:

<application
  ...
  <service
    android:name="androidx.appcompat.app.AppLocalesMetadataHolderService"
    android:enabled="false"
    android:exported="false">
    <meta-data
      android:name="autoStoreLocales"
      android:value="true" />
  </service>
  ...
</application>

Bir autoStoreLocales değerinin true olarak ayarlanmasının, okumayı engelleyen bir işleme neden olduğunu unutmayın ana ileti dizisinde bulunur ve StrictMode diskRead ve İleti dizisi ihlallerini günlüğe kaydediyorsanız diskWrite ihlali. Görüntüleyin AppCompatDelegate.setApplicationLocales() konulu videomuzu izleyin.

Özel depolama alanı işleme

Manifest girişini atlama veya autoStoreLocales öğesini false sinyallerine ayarlama depolama alanınızı yönetin. Bu durumda, yerel ayarların, etkinlik yaşam döngüsünde onCreate öncesinden önce depolanıp Android 12'de (API düzeyi 32) veya AppCompatDelegate.setApplicationLocales() daha düşük.

Uygulamanızın özel bir yerel depolama konumu varsa tek seferlik bir depolama alanı Bu sayede, özel yerel depolama çözümünüz ile autoStoreLocales arasında geçiş yapabilirsiniz. kullanıcılar uygulamanızı tercih ettikleri dilde kullanmaya devam edebilir. Bu, özellikle bir cihaz yeni sürüme geçirildikten sonra uygulamanızın ilk kez çalıştırıldığı durumlarda geçerlidir. Android 13. Bu durumda, önceden oluşturulmuş, kullanıcı tarafından istenen yerel ayarları sağlayabilirsiniz. yerel ayarları özel depolama alanınızdan alıp yerel ayarları AppCompatDelegate.setApplicationLocales()

Android çerçevesi API'lerini kullanarak uygulama

Şu işlemler için AndroidX destek kitaplığını kullanmanızı kesinlikle öneririz: uygulama içi dil seçicileri uygulamakla birlikte, setApplicationLocales() ve getApplicationLocales() yöntemlerine göz atacağız.

Örneğin, bir kullanıcının tercih ettiği dili ayarlamak için kullanıcıdan Dil seçicide bir yerel ayar seçin, ardından bu değeri sistemde ayarlayın:

// 1. Inside an activity, in-app language picker gets an input locale "xx-YY"
// 2. App calls the API to set its locale
mContext.getSystemService(LocaleManager.class
    ).setApplicationLocales(new LocaleList(Locale.forLanguageTag("xx-YY")));
// 3. The system updates the locale and restarts the app, including any configuration updates
// 4. The app is now displayed in "xx-YY" language

Kullanıcının tercih ettiği mevcut dilin dil seçicide görüntülenmesini sağlamak için: uygulamanız da bu değeri sistemden geri alabilir:

// 1. App calls the API to get the preferred locale
LocaleList currentAppLocales =
    mContext.getSystemService(LocaleManager.class).getApplicationLocales();
// 2. App uses the returned LocaleList to display languages to the user

Diğer en iyi uygulamalar

Aşağıdaki en iyi uygulamalara dikkat edin.

Başka bir uygulamada intent çağırırken dili göz önünde bulundurun

Dil odaklı amaçlar, kullanıcılara gösterilecek dili çağrılır. Bir örnek olarak EXTRA_LANGUAGE özelliğini kullanıma sunduk.

Chrome Özel sekmesinin Accept-Language üstbilgisini göz önünde bulundurun

Accept-Language Üstbilgisi ekleme seçeneğini değerlendirin. Browser.EXTRA_HEADERS üzerinden Chrome Özel sekmesini çağırırken uygulamanızın dilinde bir web sayfası açın.

Sistem ayarlarından uygulamaya özgü dil tercihlerini kaldırırsanız uygulamanızın yerel ayarını sistem yerel ayarına sıfırlayın

Uygulamanızın dil tercihlerini sistem ayarlarından kaldırırsanız ( Uygulamanızın AndroidManifest.xml etiketindeki android:localeConfig) kullanıcılar şunları yapamaz: uygulama dilini kolayca sistem varsayılanına sıfırlayabilir.

Bu nedenle, android:localeConfig adlı veri kümesini kaldırırsanız uygulamanın yerel ayarını LocaleListCompat.getEmptyLocaleList() veya LocaleList.getEmptyLocaleList() aşağıdaki kod snippet'inde gösterildiği gibidir:

Kotlin

// Use the AndroidX APIs to reset to the system locale for backward and forward compatibility
AppCompatDelegate.setApplicationLocales(
  LocaleListCompat.getEmptyLocaleList()
)

// Or use the Framework APIs for Android 13 and above to reset to the system locale
val context = LocalContext.current
context.getSystemService(LocaleManager::class.java)
  .applicationLocales = LocaleList.getEmptyLocaleList()

Java

// Use the AndroidX APIs to reset to the system locale for backward and forward compatibility
AppCompatDelegate.setApplicationLocales(
  LocaleListCompat.getEmptyLocaleList()
);

// Or use the Framework APIs for Android 13 and above to reset to the system locale
mContext.getSystemService(LocaleManager.class)
  .setApplicationLocales(LocaleList.getEmptyLocaleList());

Ek kaynaklar

Ek bilgi için kod örneklerimize, blog makalelerimize ve videolarımıza bakın.

Örnek locale_config.xml dosyası

Varsayılan olarak Android, Android Open'da sistem düzeyinde çevirileri içerir. En yaygın olarak kullanılan standart bir dizi yerel ayar için Kaynak Projesi (AOSP). Bu bölümde yer alan örnek locale_config.xml dosyası, biçimi önerilir. Yardıma ihtiyacınız varsa bu örnek dosyayı inceleyin oluşturduğunuz dil grubu için kendi locale_config.xml dosyanızı ve uygulamanızın desteklediğini gösterir.

<?xml version="1.0" encoding="utf-8"?>
<locale-config xmlns:android="http://schemas.android.com/apk/res/android">
   <locale android:name="af"/> <!-- Afrikaans -->
   <locale android:name="am"/> <!-- Amharic -->
   <locale android:name="ar"/> <!-- Arabic -->
   <locale android:name="as"/> <!-- Assamese -->
   <locale android:name="az"/> <!-- Azerbaijani -->
   <locale android:name="be"/> <!-- Belarusian -->
   <locale android:name="bg"/> <!-- Bulgarian -->
   <locale android:name="bn"/> <!-- Bengali -->
   <locale android:name="bs"/> <!-- Bosnian -->
   <locale android:name="ca"/> <!-- Catalan -->
   <locale android:name="cs"/> <!-- Czech -->
   <locale android:name="da"/> <!-- Danish -->
   <locale android:name="de"/> <!-- German -->
   <locale android:name="el"/> <!-- Greek -->
   <locale android:name="en-AU"/> <!-- English (Australia) -->
   <locale android:name="en-CA"/> <!-- English (Canada) -->
   <locale android:name="en-GB"/> <!-- English (United Kingdom) -->
   <locale android:name="en-IN"/> <!-- English (India) -->
   <locale android:name="en-US"/> <!-- English (United States) -->
   <locale android:name="es"/> <!-- Spanish (Spain) -->
   <locale android:name="es-US"/> <!-- Spanish (United States) -->
   <locale android:name="et"/> <!-- Estonian -->
   <locale android:name="eu"/> <!-- Basque -->
   <locale android:name="fa"/> <!-- Farsi -->
   <locale android:name="fi"/> <!-- Finnish -->
   <locale android:name="fil"/> <!-- Filipino -->
   <locale android:name="fr"/> <!-- French (France) -->
   <locale android:name="fr-CA"/> <!-- French (Canada) -->
   <locale android:name="gl"/> <!-- Galician -->
   <locale android:name="gu"/> <!-- Gujarati -->
   <locale android:name="hi"/> <!-- Hindi -->
   <locale android:name="hr"/> <!-- Croatian -->
   <locale android:name="hu"/> <!-- Hungarian -->
   <locale android:name="hy"/> <!-- Armenian -->
   <locale android:name="in"/> <!-- Indonesian -->
   <locale android:name="is"/> <!-- Icelandic -->
   <locale android:name="it"/> <!-- Italian -->
   <locale android:name="iw"/> <!-- Hebrew -->
   <locale android:name="ja"/> <!-- Japanese -->
   <locale android:name="ka"/> <!-- Georgian -->
   <locale android:name="kk"/> <!-- Kazakh -->
   <locale android:name="km"/> <!-- Khmer -->
   <locale android:name="kn"/> <!-- Kannada -->
   <locale android:name="ko"/> <!-- Korean -->
   <locale android:name="ky"/> <!-- Kyrgyz -->
   <locale android:name="lo"/> <!-- Lao -->
   <locale android:name="lt"/> <!-- Lithuanian -->
   <locale android:name="lv"/> <!-- Latvian -->
   <locale android:name="mk"/> <!-- Macedonian -->
   <locale android:name="ml"/> <!-- Malayalam -->
   <locale android:name="mn"/> <!-- Mongolian -->
   <locale android:name="mr"/> <!-- Marathi -->
   <locale android:name="ms"/> <!-- Malay -->
   <locale android:name="my"/> <!-- Burmese -->
   <locale android:name="nb"/> <!-- Norwegian -->
   <locale android:name="ne"/> <!-- Nepali -->
   <locale android:name="nl"/> <!-- Dutch -->
   <locale android:name="or"/> <!-- Odia -->
   <locale android:name="pa"/> <!-- Punjabi -->
   <locale android:name="pl"/> <!-- Polish -->
   <locale android:name="pt-BR"/> <!-- Portuguese (Brazil) -->
   <locale android:name="pt-PT"/> <!-- Portuguese (Portugal) -->
   <locale android:name="ro"/> <!-- Romanian -->
   <locale android:name="ru"/> <!-- Russian -->
   <locale android:name="si"/> <!-- Sinhala -->
   <locale android:name="sk"/> <!-- Slovak -->
   <locale android:name="sl"/> <!-- Slovenian -->
   <locale android:name="sq"/> <!-- Albanian -->
   <locale android:name="sr"/> <!-- Serbian (Cyrillic) -->
   <locale android:name="sr-Latn"/> <!-- Serbian (Latin) -->
   <locale android:name="sv"/> <!-- Swedish -->
   <locale android:name="sw"/> <!-- Swahili -->
   <locale android:name="ta"/> <!-- Tamil -->
   <locale android:name="te"/> <!-- Telugu -->
   <locale android:name="th"/> <!-- Thai -->
   <locale android:name="tr"/> <!-- Turkish -->
   <locale android:name="uk"/> <!-- Ukrainian -->
   <locale android:name="ur"/> <!-- Urdu -->
   <locale android:name="uz"/> <!-- Uzbek -->
   <locale android:name="vi"/> <!-- Vietnamese -->
   <locale android:name="zh-Hans"/> <!-- Chinese (Simplified) -->
   <locale android:name="zh-Hant"/> <!-- Chinese (Traditional) -->
   <locale android:name="zu"/> <!-- Zulu -->
</locale-config>