2017-11-23 3 views
0

에 오지 않을 나의 안드로이드 응용 프로그램의 응용 프로그램 코드입니다.안드로이드 로케일 변경하지만 번역 된 문자열은 다음 응용 프로그램

문제는 번역이있는 문자열이 아니며 getString() 메서드를 사용하여 액세스하면 번역 된 텍스트가 표시됩니다.

EDIT1 : 당신이 한 번역이 제공 될 때 Locale.getDefault() 일치하는 언어에서 문자열을 반환합니다 getString(R.string.pref_language) 전화를 사용하는 경우 I는 안드로이드 8.0

+0

당신은 안드로이드 8을 사용하고 있습니까? 로케일에 대해 안드로이드 8에 몇 가지 변경 사항이 있습니다 –

+0

예 안드로이드 8.0 – Sparker0i

+0

이 답변에서 약간의 단서를 얻었습니다 : https://stackoverflow.com/questions/40221711/android-context-getresources-updateconfiguration-deprecated/40704077#40704077 현재 – Sparker0i

답변

0

을 사용하고 있습니다.

번역본이 제공되지 않으면 기본 언어, 즉 values/strings.xml 파일에 사용 된 언어가 반환됩니다.

모든 번역 된 값은 values-xx 폴더에 있습니다. 여기서 xx는 언어에 대한 2 자 ISO 코드입니다.

+0

'Log.i ("Locale", lang);은 내가 설정 한 언어의 2 자리 코드 (hi)를 반환하고'getString()'으로 참조 된 문자열에 대해서도 번역본을 제공했지만, 여전히 번역 된 값을 얻지 못했습니다 – Sparker0i

+0

이상한 ... 내가 처음 비슷한 문제가 생겼을 때를 기억합니다. 나는 노르웨이 출신이고 여기에 2 개의 서면 언어 인 nynorsk과 bokmal이 있습니다. 처음에는 no로 번역을 제공하려고했지만 nb (bokmal) 및 nn (nynorsk)에 대한 번역이 필요했습니다. 비슷한 것을 접할 수 있습니까? –

0

로체의 동작이 변경되었습니다. 이제 모든 활동 컨텍스트가 로캘을 사용하게됩니다. 즉, 사용자가 Activity1에 있고 로캘을 Activity1로 변경 한 경우, Activity2는 기본 로캘로 유지됩니다.

해결 방법은 모든 활동의 로캘을 변경하면 문제가 해결됩니다.

관련 문제