2017-12-31 51 views
0

다른 언어로 된 텍스트를 읽으려면 TTS를 사용해야하는 응용 프로그램을 만들고 있습니다. 사용 가능한 모든 언어의 목록을 사용자에게 제공하는 대신 (개인적으로 다루기가 매우 까다 롭습니다), 현재 전화에 설치된 언어 만 볼 수 있습니다. 즉, 내 앱이 새로운 언어를 설치해서는 안되며, 이미 휴대 전화에 설치된 언어에만 액세스하고 두 언어 사이를 전환해야합니다.설치된 언어 목록에 액세스하는 방법

여기 시스템/설정/언어 & 입력/언어 환경 설정 : phone language preferences에 대한 나의 예입니다.

Locale.getDefault()를 사용하면 getLocales와 함께 기본 언어 (예 : en_US) 만 얻을 수 있습니다. 모든 유형의 로케일을 얻었으므로 설치 언어 3 가지 목록 (en_US, de_DE, es_ES, 바람직하게는 Locale 타입의 배열이다.

나는 여기에 붙어있는 느낌이 들기 때문에 어떤 도움도 매우 감사 하오 .--). API 레벨 24 다음과 같은 솔루션을

답변

0

이 가능합니다 :

LocaleList.getDefault은() : 현재 설치된 로케일 오프 목록을 제공합니다.

 String strLocales = ""; 
     LocaleList myLocales = LocaleList.getDefault(); 
     for (int i = 0; i<myLocales.size(); i++) { 
      strLocales = stringLocales + "\n" + myLocales.get(i).getDisplayLanguage(); 
      strLocales = stringLocales + "/" + myLocales.get(i).getDisplayCountry(); 
     } 

결과 (strLocales) 인 :

  • 영어/미국
  • 스페인어/스페인
  • 독일어/독일

이 정확히 내가 무엇을 찾고 있었다입니다 . 운수 나쁘게; 아직도 모르겠다. 24 이전 버전을 위해 이것을 해결하는 방법, 그리고 어떤 도움을 주셔서 감사합니다.