2016-09-27 27 views
5

Çok dilli (İngilizce, Rusça, Özbekçe) uygulaması oluşturdum. 4 klasörde (değerler, değerler-en, değerler-ru, değerler-uz) 4 stringli özkaynakları docs olarak koydum. Aşağıdaki gibi App kontrolörün yöntemini çağırarak bu uygulama yeniden başlatıldıktan sonraÇoklu dil android uygulaması yapın

Settings.LANGUAGE = prefs.getString(User.LANG, Settings.RUSSIAN); 
Locale locale = new Locale(Settings.LANGUAGE); 
Locale.setDefault(locale); 
Configuration configuration = new Configuration(); 
configuration.locale = locale; 
getBaseContext().getResources().updateConfiguration(configuration, 
    getBaseContext().getResources().getDisplayMetrics()); 

: Ben aşağıda gibi App Denetleyici'de uygulama dil güncellemeleri kaynakların saptanması yapılandırmasını değiştirdiğinizde Peşlerinden

public void reStart() { 
    Intent i = getBaseContext().getPackageManager() 
      .getLaunchIntentForPackage(getBaseContext().getPackageName()); 
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    startActivity(i); 
} 

Iyi neredeyse tüm tasarlar çalışır. Ama Samsung Galaxy S6'da (SM-G920F), deli gibi çalışıyor. Bazı kelimeler ingilizce ve diğerleri Özbek ve ets. Peki, Bu hatayı nasıl düzeltebilirim? Tüm düzenlemeler tarafından desteklenen (farklı dillere destek veren) kavramlar değil midir? Ben (ekli resimde gösterildiği gibi) tüm kaynakların saptanması, ilgili dilde verilmesini kontrol ettikten arada : my gözlemlerden

enter image description here

+0

Samsung kendi işini yapmayı seviyor ....: [Her zaman standartlara uymadıklarını öğrendim (bir kaç şey için) –

+0

Program dili yerine cihaz dilini değiştirirken aynı sorunu alıyor musunuz? o? – DeeV

+0

O halde ne yapmalıyım? @NeilLocketz –

cevap

2

, garip davranışı yalnızca Etkinlik başlıkları etkileyen, ve ben olduğu bulundu Manifest dosyasındaki etkinlik başlıklarının çevirisini ayarlama. Sadece bu çeviriler yanlış davrandı. Diğer tüm dinamik olarak ayarlanmış çeviriler iyi çalışıyordu. çözüldü

getSupportActionBar().setTitle(R.string.title_activity_followers); 

Sorun: Yani, sorunu çözmek için, ben aşağıdaki gibi onCreate yönteminde tüm Manifest dosyadan etkinlik etiketleri, daha sonra belirlenen etkinlik başlıkları kaldırıldı.