2010-02-19 4 views
5

응용 프로그램에서 지원하는 언어가 무엇인지 동적으로 찾을 수 있습니까? 예를 들어, 영어, 프랑스어, 네덜란드어 및 독일어의 문자열이 있습니다. 값은 해당 res 디렉토리 (값 : values-fr, values-nlvalues-de)에 정의되어 있습니다. 사용자에게 선택할 수있는 가능성을 부여하고 싶습니다.이 경우로드하려고합니다. 그러나 나는 선택을 하드 코딩하고 싶지 않다. 나는 다음을 사용하려고 시도했다 :응용 프로그램의 사용 가능한 언어를 동적으로 가져 오기

getApplication().getResources().getAssets().getLocales() 

그러나이 방법은 전화가 지원하는 모든 로케일을 반환한다.

다른 생각이 있으십니까?

+0

"Android"태그를 볼 수 있습니다. 제목에 넣을 필요가 없습니다. –

+0

어쨌든 언어를 "하드 코딩"했으므로 왜 하나의 문자열 배열이 필요하지 않습니까? 그들을 나열 해 줍니까? 또한'values-XY' 폴더에 해당 언어에 대한 문자열이 포함되어 있다고 보장 할 수는 없습니다 (일반적으로). 이것은 또한 리소스 디렉토리를 나열하는 방법이 있는지 확실하지 않다는 말의 둥근 방법입니다.) –

답변

-1

안드로이드 UI 지침의 관점에서, 사용자에게 로케일을 변경하기위한 장치 설정에있는 다른 의미를 제공하는 것은 이상합니다. 응용 프로그램이 다른 응용 프로그램을 호출하면 어떤 응용 프로그램이이 응용 프로그램을 사용합니까?

또한 확실하지 않습니다. 리소스를 처리하고, 조직하고 포장하는 방법이 블랙 박스 인 빌드 프로세스 이후에 리소스를 탐색하는 것은 의미가 있습니다. 응용 프로그램이 특정 조직/형식에 의존하려고 시도해서는 안됩니다. 이것은 미래에 바뀔 수 있기 때문입니다.

관련 문제