2016-09-27 17 views
5

다중 언어 (영어, 러시아어, 우즈벡어) 응용 프로그램을 만들었습니다. 나는 4 개의 폴더 resoureses를 docs으로 4 개의 폴더 (값, 값 -en, 값 -re, 값 -uz)에 넣었습니다. 아래와 같은 앱 컨트롤러의 메소드를 호출하여 해당 응용 프로그램 다시 시작되면다중 언어 및 Android 응용 프로그램 만들기

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()); 

: 나는 다음과 같은 응용 프로그램 컨트롤러에 응용 프로그램 언어 업데이트의 resourses 구성을 변경하면 그 후

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

을 그것은 잘 거의 모든 심지를 작동합니다. 그러나 삼성 갤럭시 S6 (SM-G920F)에서는 미친 듯이 작동합니다. 일부 단어는 영어로되어 있고 다른 단어는 우즈베크 어와 ets에 있습니다. 그럼이 오류를 수정하는 방법은 무엇입니까? 모든 고안에 의해 (적용 가능한) "다른 언어 지원"의 개념이 아닌가? 나는 (첨부 이미지 참조) 모두의 resourses가 해당 언어로 제공되는 것을 확인했다 그런데 : 내 관찰에서

enter image description here

+0

삼성 전자는 자신의 일을 좋아합니다 .... : [나는 그들이 항상 표준을 따르지 않는다는 것을 발견했습니다. (일부 사항은 –

+0

) 프로그래밍 방식으로가 아니라 장치 언어를 변경할 때 같은 문제가 발생합니까? 그? – DeeV

+0

그 때해야 할 일은 무엇입니까? @NeilLocketz –

답변

2

는 이상한 동작은 활동 제목에 영향을 미치는되었고, 나는 것을 발견 매니페스트 파일에서 활동 제목의 번역 설정 이 번역본들만 오해했습니다. 다른 모든 역동적으로 설정된 번역은 정상적으로 작동합니다. 해결

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

문제 : 그래서, 문제를 해결하기 위해, 나는 아래에서 onCreate 방법의 모든 매니페스트 파일에서 활동 라벨, 다음 설정 활동 제목을 제거했습니다.